若依登录简单记录

130 阅读1分钟

主要是通过一系列的过滤器链条来进行实现, 期间需要重写一部分的过滤器来达到效果 具体流程需记住一下图流程内容即可

image.png(图片来自csdn)

1、usenamePasswordAuthenticationFilter中的请求封装内容信息。这里我们能看到这里只实现了账号密码,还有权限内容没有添加进去,后续需要进行重写,这里若依是实现了自己的controller再自己的server方法里面调用了这个 image.png(spring security的调用)

image.png(若依项目调用这里找了着急才看到原来是再server调用了这个方法,没有走的过滤链)

2、AuthenticationManger委托调用authenticate(),这里若依是继续调用的security的认证内容 image.png

3、这里若依重新实现了userDetailsService的接口,重写了loadUserByUsername方法,把LoginUser封装出去

image.png

上面图表很明显userDetailsService是需要进行重写的,我们需要的是进行数据库从账号密码查询而不是之间的获取密码,另外的usenamePasswordAuthenticationFilter这里也是需要重写或者进行替换的,为了避免每次的接口都进行登录校验,这里若依是采用了自己添加了一个JWT的过滤器每次都检查是否有登录信息,通过再login的接口返回了token的内容信息

这里暂时没明白明明若依只是把jwt的过滤器添加到了UsernamePasswordAuthenticationFilter前面为什么UsernamePasswordAuthenticationFilter的内容没有被执行了希望有缘的大哥解释一下