0


若依框架解读(前后端分离版)—— 1.Spring Security相关配置(@Anonymous注解)

有关Spring Security与JWT相关知识可以看我之前写的文章:SpringBoot整合SpringSecurity+JWT(三更草堂)
这边需要对RBAC模型有一点了解,比较简单可自行百度。

首先查看Security配置类SecurityConfig,如果我们想要放行自己写的接口是可以在此配置,也可以加上@Anonymous注解

这里区分一下下面两个方法:
anonymous() 允许匿名用户访问,不允许已登入用户访问
permitAll() 不管登入,不登入 都能访问

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

我们来分析一下这个注解@Anonymous注解
这是个自定义注解,我们去查看切面处理逻辑,这里需要spring启动流程与bean生命周期相关知识。
可以看到这里实现了InitializingBean()接口,然后重写当中的afterPropertiesSet()方法,同时该类加上了@Configuration注解。我们可以了解到在项目启动后,会把所有加上@Anonymous注解的路径放入了urls集合,并且在配置类当中进行了配置。

不了解spring启动流程与bean生命周期的同学可以查看我之前写的文章:手写简易Spring框架在这里插入图片描述
在这里插入图片描述

这里还添加了JWT的过滤链,
Spring Security本身就是一堆过滤器的组合,我们可以查看JWT过滤器链条的位置。
在这里插入图片描述

在过滤器链当中我们还存入了用户信息到SecurityContextHolder,SecurityContextHolder使用了ThreadLocal机制来保存每个使用者的安全上下文。ThreadLocal 叫做本地线程变量,是个非常重要的知识点读者可自行了解因此我们才能在SecurityUtils工具了方便的在需要的地方获取用户信息。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

标签: spring java spring boot

本文转载自: https://blog.csdn.net/m0_67290880/article/details/127975004
版权归原作者 初见qwer 所有, 如有侵权,请联系我们删除。

“若依框架解读(前后端分离版)—— 1.Spring Security相关配置(@Anonymous注解)”的评论:

还没有评论