SpringSecurity登录时在哪里调用我们自定义的UserDetailsServiceImpl
1、请求login方法
2、将用户的用户名和密码封装成一个对象,以便进行后续的认证操作
3、执行认证操作
![](https://file.jishuzhan.net/article/1780939395247902722/8726e3fb28d93009f2e2dd26f923aac6.webp)
4、调用providermanager类的authenticate
5.进入这一步就开始跟我们自定义实现的UserDetailsServiceImpl有联系
6、这个类的实现类有一个跟UserDetails有关的验证类
![](https://file.jishuzhan.net/article/1780939395247902722/6d34e076bf3e1d3a15ee7ad7c71ff4e3.webp)
7、进入后发现有我们找的UserDeatils
![](https://file.jishuzhan.net/article/1780939395247902722/b7da81b68ebdd606bd827bca7423325e.webp)
8、进入方法后我们看实现类,有一个我们自定义的
![](https://file.jishuzhan.net/article/1780939395247902722/a30246f9cae44b5bdb2df2877eeeaf28.webp)
9.最后就跳转到我们查数据库验证账号的逻辑了
![](https://file.jishuzhan.net/article/1780939395247902722/238b11e38570442462b958e25c505574.webp)
10、根据查到的对象转换为token形式,然后就返回了token(后面简略了,差不多就是把信息进行转换。这里我少截图了几个类
)