您的位置:首页 > 科技 > IT业 > 公司网址怎么查询_网页设计作业成品20页_怎么进行网络营销_网络推广外包费用

公司网址怎么查询_网页设计作业成品20页_怎么进行网络营销_网络推广外包费用

2024/12/22 17:27:39 来源:https://blog.csdn.net/2302_79087378/article/details/143605441  浏览:    关键词:公司网址怎么查询_网页设计作业成品20页_怎么进行网络营销_网络推广外包费用
公司网址怎么查询_网页设计作业成品20页_怎么进行网络营销_网络推广外包费用

Spring Security

Spring Security 基于 Spring 框架,提供了一套 Web 应用安全性的完整解决方案。

Web 应用的安全性包括用户认证(Authentication)和用户授权(Authorization)两个部分,这两点也是Spring Security重要核心功能。 (1)用户认证指的是:验证某个用户是否为系统中的合法主体,也就是说用户能否访问该系统。用户认证一般要求用户提供用户名和密码。系统通过校验用户名和密码来完成认证过程。通俗点说就是系统认为用户是否能登录 (2)用户授权指的是验证某个用户是否有权限执行某个操作。在一个系统中,不同用户所具有的权限是不同的。比如对一个文件来说,有的用户只能进行读取,而有的用户可以进行修改。一般来说,系统会为不同的用户分配不同的角色,而每个角色则对应一系列的权限。通俗点讲就是系统判断用户是否有权限去做某些事情。

Spring Security功能

Spring Security 的核心功能主要包括如下几个:

认证 :认证即系统判断用户的身份是否合法,合法可继续访问,不合法则拒绝访问。常见的用户身份认证方式有:用户名密码登录、二维码登录、手机短信登录、脸部识别认证、指纹认证等方式。 认证是为了保护系统的隐私数据与资源,用户的身份合法才能访问该系统的资源。 授权:授权即认证通过后,根据用户的权限来控制用户访问资源的过程,拥有资源的访问权限则正常访问,没有权限则拒绝访问。 比如在一些视频网站中,普通用户登录后只有观看免费视频的权限,而VIP用户登录后,网站会给该用户提供观看VIP视频的权限。 认证是为了保证用户身份的合法性,授权则是为了更细粒度的对隐私数据进行划分,控制不同的用户能够访问不同的资源。 防护攻击:防止身份伪造等各种攻击手段。 加密功能:对密码进行加密、匹配等。 会话功能:对Session进行管理。 RememberMe功能:实现“记住我”功能,并可以实现token令牌持久化。

Spring Security支持的身份认证模式

在身份验证层面,Spring Security广泛支持各种身份认证模式。这些验证模式绝大多数都是由第三方提供,或相关标准组织提供的,目前Spring Security支持如下认证技术:

  • HTTP BASIC authentication headers: 一个基于IEFT RFC的标准。

  • HTTP Digest authentication headers: 一个基于IETF RFC的标准。

  • HTTP X.509 client certificate exchange: 一个基于IETF RFC的标准。

  • LDAP: 一种常见的跨平台身份验证方式。

  • Form-based authentication: 用于简单的用户界面需求。

  • OpenID authentication: 一种去中心化的身份认证方式。

  • Authentication based on pre-established request headers: 类似于 Computer Associates SiteMinder,一种用户身份验证及授权的集中式安全基础方案。

  • Jasig Central Authentication Service: 单点登录方案。

  • Transparent authentication context propagation for Remote Method Invocation (RMI) and HttpInvoker: 一个Spring远程调用协议。

  • Automatic "remember-me" authentication: 允许在指定到期时间前自行重新登录系统。

  • Anonymous authentication: 允许匿名用户使用特定的身份安全访问资源。

  • Run-as authentication: 允许在一个会话中变换用户身份的机制。

  • Java Authentication and Authorization Service: JAAS,Java验证和授权API.

  • Java EE container authentication: 允许系统继续使用容器管理这种身份验证方式。

  • Kerberos: 一种使用对称密钥机制,允许客户端与服务器相互确认身份的认证协议。

创建security项目

先创建springboot项目导入依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-security</artifactId>
</dependency>

 创建controller.HelloController

package com.zking.security.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {
    @RequestMapping("/hello")
    public String hello(){
        return "hello security";
    }
}

 启动项目访问:localhost:8080/hello

流程:先访问localhost:8080/login登录在回滚跳hello,而直接访问login登录后将404,因为我们还没设默认访问页面

默认账号:user

密码到控制台复制:

通过配置文件来设置用户和密码

创建resources.application.yml文件

spring:
  security:
    user:
      name: jack
      password: 123456

#注:此后不会在控制台输出密码,

权限管理中的相关概念

主体

英文单词:principal /ˈprɪnsəp(ə)l/ 使用系统的用户设备或从其他系统远程登录的用户等等。简单说就是谁使用系统谁就是主体。

认证

英文单词:authentication /ɔːˌθentɪˈkeɪʃn/ 权限管理系统确认一个主体的身份,允许主体进入系统。简单说就是“主体”证明自己是谁。 笼统的认为就是以前所做的登录操作。

授权

英文单词:authorization /ˌɔːθəraɪˈzeɪʃ(ə)n/ 将操作系统的“权力”“授予”“主体”,这样主体就具备了操作系统中特定功能的能力。

SpringSecurity 基本原理

过滤器链

SpringSecurity 本质是一个过滤器链: 从启动是可以获取到过滤器链:

SpringSecurity 本质是一个过滤器链:

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com