1)Authentication对象主要保存用户的一些基本信息,用户名,密码,权限等
2)其下还有多个实现类,UsernamePasswordAuthenticationToken用得最多,每个不同的token登录都会有对应一个AuthenticationProvider,比如UsernamePasswordAuthenticationToken它就有一个AbstractUserDetailsAuthenticationProvider
1)AuthenticationProvider接口,认证提供者,提供authenticate和support方法,有多个实现类
1)AuthenticationManager接口,认证管理者,用于管理AuthenticationProvider,定义了一个authenticate方法,用于做认证
1)ProviderManager是AuthenticationManager的实现类,用于管理AuthenticationProvider,定义了一个list来管理
2.1 主要成员
2.1 流程
1)请求来到UsernamePasswordAuthenticationFilter,获取前端传来的用户名和密码,并且调用authenticate方法
2)进入到ProviderManager的authenticate方法,遍历providers
3)进入到AbstractUserDetailsAuthenticationProvider,执行authenticate方法
4)校验用户和密码
5)将用户相关信息存储到authentication对象,并且返回
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/weixin_41359273/article/details/123723920
内容来源于网络,如有侵权,请联系作者删除!