用户名和密码被放到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 中
本文详细介绍了Spring Security中用户认证的整个过程,包括如何使用UsernamePasswordAuthenticationToken进行身份验证,如何将用户权限放入token,以及如何通过AuthenticationManager完成验证并将Authentication对象存入SecurityContext。
5万+

被折叠的 条评论
为什么被折叠?



