1、SpringSecurity内置认证流程
通过研究SpringSecurity内置基于form表单认证的UsernamePasswordAuthenticationFilter过滤器,我们可以仿照自定义认证过滤器:
内置认证过滤器的核心流程:
核心流程梳理如下:
-
认证过滤器(UsernamePasswordAuthentionFilter)接收form表单提交的账户、密码信息,并封装成UsernamePasswordAuthenticationToken认证凭对象;
-
认证过滤器调用认证管理器AuthenticationManager进行认证处理;
-
认证管理器通过调用用户详情服务获取用户详情UserDetails;
-
认证管理器通过密码匹配器PasswordEncoder进行匹配,如果密码一致,则将用户相关的权限信息一并封装到Authentication认证对象中;
-
认证过滤器将Authentication认证过滤器放到认证上下文,方便请求从上下文获取认证信息;