Spring Boot 3.x.x Spring Security 6.x.x @PreAuthorize 失效
背景
最近在搞一个后端项目,登录、接口权限、token认证。
版本
Spring Boot 3.2.0
JDK 21
Spring Security 6.2.0
问题
@PreAuthorize 失效,没有走认证。
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/56fdcafac0fa48ec9e93e47bad87bdd0.png)
解决
给@PreAuthorize 打debug,发现不走该注解的认证。
上网查,需要加注解:
@EnableGlobalMethodSecurity(prePostEnabled = true)
有效,但是已经被 @Deprecated
标记- 换
@EnableMethodSecurity
该注解。
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/256532c4e69e473e8e9ce68922427950.png)
备注
- 具体的Security 权限控制流程可搜初始化流程