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

相关推荐
咖啡教室3 分钟前
每日一个计算机小知识:HTTP
后端·http·https
武子康4 分钟前
大数据-135 ClickHouse 集群连通性自检 + 数据类型避坑实战|10 分钟跑通 ON CLUSTER
大数据·分布式·后端
lemon_sjdk6 分钟前
每天学习一个新注解——@SafeVarargs
java
RoboWizard8 分钟前
电脑效能跃升利器 金士顿KVR内存焕新机
java·spring·智能手机·电脑·金士顿
咖啡教室14 分钟前
每日一个计算机小知识:TCP
后端·tcp/ip
微露清风30 分钟前
系统性学习C++-第七讲-string类
java·c++·学习
spencer_tseng1 小时前
JDK 9 List.of(...)
java·windows·list·1024程序员节
不平衡的叉叉树1 小时前
mybatis-plus的insertBatchSomeColumn方法实现批量插入
java·mybatis
学IT的周星星1 小时前
Maven 项目和 Maven Web 项目的异同点
java·maven
摇滚侠1 小时前
Spring Boot3零基础教程,函数式 Web 新特性,笔记51
java·spring boot·笔记