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

相关推荐
不光头强6 分钟前
Java中的异常
java·开发语言
毕设源码-赖学姐6 分钟前
【开题答辩全过程】以 高校资源共享平台的设计与实现 为例,包含答辩的问题和答案
java
shamalee9 分钟前
MS SQL Server partition by 函数实战二 编排考场人员
java·服务器·开发语言
aisifang009 分钟前
MS SQL Server partition by 函数实战三 成绩排名
java
理想小青年13 分钟前
保姆级 OpenClaw 浏览器配置教程
后端
常利兵14 分钟前
Spring Boot接口版本控制:解锁API优雅升级姿势
spring boot·后端·状态模式
C++chaofan19 分钟前
JUC 并发编程:对可见性、有序性与 volatile的理解
java·开发语言·spring·java-ee·juc·synchronized·
无名-CODING21 分钟前
Tomcat 底层核心知识点字典(面试必备)
java·面试·tomcat
XiYang-DING23 分钟前
【Java SE】双亲委派模型
java·开发语言
我命由我1234534 分钟前
Git 创建新分支并推送到远程仓库
java·服务器·git·后端·学习·java-ee·学习方法