Spring Security @PreAuthorize @PostAuthorize 权限控制

@PreAuthorize : 在方法执行之前进行权限验证

@PostAuthorize : 在方法执行之后进行权限验证

注解参数:

hasRole,对应 public final boolean hasRole(String role) 方法,含义为必须含有某角色(非ROLE_开头),如有多个的话,必须同时具有这些角色,才可访问对应资源。

hasAnyRole,对应 public final boolean hasAnyRole(String... roles) 方法,含义为只具有有某一角色(多多个角色的话,具有任意一个即可),即可访问对应资源。

hasAuthority,对应 public final boolean hasAuthority(String authority) 方法,含义同 hasRole,不同点在于这是权限,而不是角色,区别就在于权限往往带有前缀(如默认的ROLE_),而角色只有标识。

hasAnyAuthority,对应 public final boolean hasAnyAuthority(String... authorities) 方法,含义同 hasAnyRole,不同点在于这是权限,而不是角色,区别就在于权限往往带有前缀(如默认的ROLE_),而角色只有标识

permitAll,对应 public final boolean permitAll() 方法,含义为允许所有人(可无任何权限)访问。

denyAll,对应 public final boolean denyAll() 方法,含义为不允许任何(即使有最大权限)访问。

isAnonymous,对应 public final boolean isAnonymous() 方法,含义为可匿名(不登录)访问。

isAuthenticated,对应 public final boolean isAuthenticated() 方法,含义为身份证认证后访问。

isRememberMe,对应 public final boolean isRememberMe() 方法,含义为记住我用户操作访问。

isFullyAuthenticated,对应 public final boolean isFullyAuthenticated() 方法,含义为非匿名且非记住我用户允许访问。

相关推荐
葫芦和十三15 小时前
图解 MongoDB 04|索引模型:每建一个索引,就是在 B+-tree 森林里多栽一棵
后端·mongodb·agent
用户479492835691517 小时前
claude Fable用不了?把Gpt 5.5pro接到你的claude code里
前端·后端
GetcharZp19 小时前
告别 Nginx 复杂配置!这款带 Web 面板的万能代理神器,让端口转发变得如此简单
后端
IT_陈寒21 小时前
React的useState居然还有这种坑?我差点删库跑路
前端·人工智能·后端
nanxun8861 天前
记一次诡异的 Docker 容器"串包"故障排查
java
Pedantic1 天前
SwiftUI 手势笔记
前端·后端
金銀銅鐵1 天前
[Python] 从《千字文》中随机挑选汉字
后端·python
用户1563068103511 天前
Day01 | Java 基础(Java SE)
java
飘尘1 天前
前端转型全栈(Java后端)的快速上手指引
前端·后端·全栈