SpringBoot3 集成 Spring Security6 详细介绍(一)

1.Spring Security简介

根据官网简介,Spring Security 是一个提供身份验证授权防御常见攻击的框架。它对命令式和响应式应用程序的安全提供了一流的支持,是保护基于 Spring 的应用程序的事实标准。

1.身份验证

Spring Security 为身份验证提供了全面的支持。身份验证是我们验证尝试访问特定资源的用户身份的方式。在java语言中,我们验证用户身份的常用方法是要求用户输入用户名和密码。一旦完成身份验证,我们就可以知道身份并执行授权(通俗的讲:身份验证就是用户通过输入用户名和密码去核实身份的过程)

1)selvet身份验证框架
  • SecurityContextHolder——是Spring Security 存储经过身份验证的SecurityContextHolder人员的详细信息的地方
  • SecurityContext - 从中​​获取SecurityContextHolder并包含Authentication当前经过身份验证的用户的。
  • 身份验证——可以是输入,以AuthenticationManager提供用户提供的用于身份验证的凭据或来自的当前用户SecurityContext
  • GrantedAuthority - 授予主体的权限Authentication(即角色、范围等)
  • AuthenticationManager——定义 Spring Security 的过滤器如何执行身份验证的API 。
  • ProviderManager——最常见的实现AuthenticationManager
  • AuthenticationProvider——用于ProviderManager执行特定类型的身份验证。
  • 请求凭证AuthenticationEntryPoint- 用于从客户端请求凭证(即重定向到登录页面、发送WWW-Authenticate响应等)
  • AbstractAuthenticationProcessingFilter - 用于身份验证的基础Filter。它能够很好地展现身份验证的高层流程以及各个部分如何协同工作。
2) 表单登录

Spring Security提供了对通过HTML表单提供用户名和密码的支持。
用户是如何被重定向到登录表单的
1 首先,一个用户向其未被授权的资源(/private)发出一个未经认证的请求。

2 Spring Security 的 AuthorizationFilter 通过抛出一个 AccessDeniedException 来表明未经认证的请求被拒绝了。

3 由于用户没有被认证,ExceptionTranslationFilter 启动了 Start Authe

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值