若依框架解读(前后端分离版)—— 2.Spring Security登录流程(图画版)

除了Spring Security + JWT,还有一个基于SaToken登录的若依,相比较而言非常的轻量化,有兴趣可以前去了解若依(Ruoyi-Vue-Plus版)——1.登录(SaToken)

登录流程
重点有关Spring Security部分。文章推荐(究极好文):【项目实践】一文带你搞定Spring Security + JWT实现前后端分离下的认证授权 - 知乎 (zhihu.com)
先看张图
在这里插入图片描述

首先我们进入登录的代码,并进入loginService.login()方法。这个login()方法可以分为两个部分。
由第一部分我们可以知道,这里利用用户名和密码生成了一个authenticationToken(某种用户的标识信息),并将其放入了AuthenticationContextHolder上下文管理器当中的上下文。然后调用了authenticationManager.authenticate(authenticationToken)方法即完成了登录。
在这里插入图片描述
在这里插入图片描述

接下来是authenticationManager.authenticate(authenticationToken)方法如何完成登录的(这里只简单画一下)。大概就是在UserDetailsServiceImpl(实现了Spring Security提供的一个UserDetailsService接口)当中查询出了用户名密码并且进行了校验。然后返回了一个LoginUser对象(实现了Spring Security提供的一个UserDetails接口)。LoginUser对象对象封装了具体用户信息与权限信息。
总之,UserDetailsServiceImpl与LoginUser是需要我们具体实现的。

在这里插入图片描述

在这里插入图片描述

jwt过滤器链
在这里插入图片描述


版权声明:本文为m0_67290880原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。