SpringSecurity认证流程图
默认方式:
- SpringSecurity需要先将请求传过来的userName和password进行封装以后才能执行到后续的认证。
- SpringSecurity内置的默认登录页是通过 InMemoryUserDetailsManager 实现类中的loadUserByUsername()方法去做的校验。
关键修改:
结合上述默认认证方式的校验,所以要修改的关键部分如下:
- 封装传入参数为UsernamePasswordAuthenticationToken类型
- 调用AuthenticationManager类中的的 authenticate() 方法传入参数为封装好的UsernamePasswordAuthenticationToken类型对象authenticationToken
- 主要修改的部分就是实现 UserDetailsService 接口的 loadUserByUsername() 方法
- 重点在6.1部分
解决方案:
第一步:
封装请求参数然后调用authenticate()方法