启动的时候把userRespository注入进来
执行流程
首先我们配置SecurityConfiguration它继承WebSecurityConfiguraterAdpter
并且实现 configure是释放静态资源
还实现了configure(HttpSecurity http)主要是对于url请求资源的拦截处理
主要是通过UsernamePasswordAuthenticationFilter进行password验证
执行他的时候首先执行了他的父类AbstractAuthenticationProcessingFilter的doFilter方法
取出用户提交的用户名和密码
然后调用实现了UserDetailsService的自定义的DomainUserDetailsService类的loadUserByUsername()获取数据库这个用户的用户密码和权限信息
结果如下
对用户名和密码进行认证AbstractUserDetailAuthenticationProvider
然后是通过DAOAuthenticationProvider进行密码校验
比较传递的密码和数据库查询的密码进行比较
通过BcrtpPasswordEncoder校验
通过BCrypt对传入的密码进行加密
通过异或进行密等校验
返回结果校验失败抛出一个异常BadCredentialsException
校验成功返回
上面就是spring security整个执行流程