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() 方法,含义为非匿名且非记住我用户允许访问。

相关推荐
你的人类朋友7 小时前
说说签名与验签
后端
databook7 小时前
Manim实现脉冲闪烁特效
后端·python·动效
RainbowSea7 小时前
12. LangChain4j + 向量数据库操作详细说明
java·langchain·ai编程
RainbowSea8 小时前
11. LangChain4j + Tools(Function Calling)的使用详细说明
java·langchain·ai编程
canonical_entropy10 小时前
AI时代,我们还需要低代码吗?—— 一场关于模型、演化与软件未来的深度问答
后端·低代码·aigc
颜如玉11 小时前
HikariCP:Dead code elimination优化
后端·性能优化·源码
考虑考虑11 小时前
Jpa使用union all
java·spring boot·后端
用户37215742613512 小时前
Java 实现 Excel 与 TXT 文本高效互转
java
bobz96512 小时前
virtio vs vfio
后端
浮游本尊13 小时前
Java学习第22天 - 云原生与容器化
java