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

相关推荐
香饽饽~、4 分钟前
函数式方法的实现(JDK8+)
java·服务器
付朝鲜16 分钟前
用自写的jQuery库+Ajax实现了省市联动
java·前端·javascript·ajax·jquery
小赵面校招18 分钟前
Spring Boot整合MyBatis全攻略:原理剖析与最佳实践
java·spring boot·mybatis
曼岛_21 分钟前
[Java实战]Spring Boot 3 整合 Ehcache 3(十九)
java·spring boot·spring
意倾城23 分钟前
Spring Boot 配置文件敏感信息加密:Jasypt 实战
java·spring boot·后端
曼岛_23 分钟前
[Java实战]Spring Boot 3 整合 Apache Shiro(二十一)
java·spring boot·apache
火皇40523 分钟前
Spring Boot 使用 OSHI 实现系统运行状态监控接口
java·spring boot·后端
带刺的坐椅26 分钟前
Java Solon v3.3.0 发布(国产优秀应用开发基座)
java·spring·solon
不再幻想,脚踏实地26 分钟前
Spring Boot配置文件
java·数据库·spring boot
pedestrian_h34 分钟前
Spring AI 开发本地deepseek对话快速上手笔记
java·spring boot·笔记·llm·ollama·deepseek