security密码验证原理

用户名和密码被放到UsernamePasswordAuthenticationToken中,

-(GrantedAuthority,反应,在应用程序范围你,赋予主体的权限。将取得用户权限,并放入token中)

把token放入AuthenticationManager中进行验证,成功则返回一个

带有用户名,密码和权限列表的完整信息的Authentication。

-(UserDetails,用于构建Authentication 对象。)

--(UserDetailsService,创建一个UserDetails,传递一个String 类型的用户名(或者证
书ID 或其他)。)

然后通过SecurityContextHolder.getContext().setAuthentication(Authentication)放入

SecurityContext中,用于以后的验证。

(SecurityContextHolder,提供几种访问SecurityContext 的方式。
SecurityContext,保存Authentication 信息,和请求对应的安全信息。)

SecurityContext存储于HttpSession中。


AuthenticationProvider,验证的时候会加载对应的UserDetails 对象- 特别是包含的GrantedAuthority(权限)。

如果成功,则返回一个成功验证,保存到SecurityContext 中


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值