SpringSecurity认证流程详细
2023-01-08 19:37:49 18 举报
SpringSecurity认证流程详细
作者其他创作
大纲/内容
5.2把对应的用户信息包括权限信息封装成UserDetails对象
4.调用DaoAuthenticationProvicder的authenticate方法进行认证
接口
ProviderManager
UserDetailsService
1.提交用户名密码
UsernamePasswordAuthenticationFilter
AuthenticationManager
2.封装Authentiation对象,这适合最多只有用户吗和密码,权限还没有
AbstractAuthenticationProcessingFilter
5.调用loadUserByUsername方法查询用户
实现类
AbstractUserDetailsAuthenticationProvider
3.调用authenticate方法进行认证
10.如果上一步返回了Authentication对象就使用SecurityContextHolder.getContenxt().setAuthtication方法存储该对象。其它过滤器种通过SecurityContextHolder来获取当前用户信息
6.返回UserDetails对象
DaoAuthenticationProvider
InMemoryUserDetailsManager
5.1根据用户名去查询对应的用户及对应的权限信息,InMemoryUserDrtailisManager是在内存种查找
9.返回填充后的Authentication对象
7.通过PasswordEncoder对比Details种的密码和Authentication的密码是否正确
8.如果正确就把Details种的权限信息设置到Authentication对象种
0 条评论
下一页