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

相关推荐
yngsqq17 分钟前
netdxf—— CAD c#二次开发之(netDxf 处理 DXF 文件)
java·前端·c#
曾曜25 分钟前
PostgreSQL逻辑复制的原理和实践
后端
A了LONE25 分钟前
h5的底部导航栏模板
java·前端·javascript
豌豆花下猫25 分钟前
Python 潮流周刊#110:JIT 编译器两年回顾,AI 智能体工具大爆发(摘要)
后端·python·ai
轻语呢喃39 分钟前
JavaScript :事件循环机制的深度解析
javascript·后端
ezl1fe40 分钟前
RAG 每日一技(四):让AI读懂你的话,初探RAG的“灵魂”——Embedding
后端
经典199242 分钟前
spring boot 详解以及原理
java·spring boot·后端
星光542243 分钟前
飞算JavaAI:给Java开发装上“智能引擎”的超级助手
java·开发语言
Aurora_NeAr44 分钟前
Apache Iceberg数据湖高级特性及性能调优
大数据·后端
程序员清风1 小时前
程序员要在你能挣钱的时候拼命存钱!
后端·面试·程序员