五分钟带你玩转SpringSecurity(四)晋级!Spring EL 权限表达式全集

简介: 五分钟带你玩转SpringSecurity(四)晋级!Spring EL 权限表达式全集


Spring Security 允许我们使用 Spring EL 表达式,来进行用户权限的控制,如果对应的表达式结果返回true,则表

示拥有对应的权限,反之则无。

Spring Security 可用表达式对象的基类是 SecurityExpressionRoot 参见此类即可。

表达式 描述
permitAll() 总是返回true,表示允许所有访问(认证不认证都可访问 URL或方法
denyAll() 总是返回false,表示拒绝所有访问(永远访问不到指定的 URL或方法
isAnonymous() 当前用户是一个匿名用户(未登录用户)允许访问,返回true
isRememberMe() 当前用户是通过Remember-Me自动登录的允许访问,返回true
isAuthenticated() 当前用户是已经登录认证成功的允许访问(包含了rememberMe自动
登录的),返回true
isFullyAuthenticated() 如果当前用户既不是一个匿名用户,同时也不是通过Remember-Me自
动登录的,则允许访问(可以理解为通过页面输入帐户信息认证的)
hasRole(String role) 当前用户拥有指定角色权限的允许访问,返回true。注意: 指定的角色
名(如: ADMIN ) SpringSecurity 底层会在前面拼接 ROLE_ 字符串,所
以在UserDetailsService实现类,数据库返回的角色名要有ROLE_ADMIN
hasAnyRole([role1, role2]) 多个角色以逗号分隔字符串。如果当前用户拥有指定角色中的任意一
个则允许访问,返回true
hasAuthority(String authority) 当前用户拥有指定权限标识的允许访问,返回true。注意:和hasRole
区别是, hasAuthority 不会在前面拼接 ROLE_ 字符串, 。
hasAnyAuthority([auth1,auth2]) 多个权限标识是以逗号分隔的字符串。如果当前用户拥有指定权限标识
中的任意一个则允许访问,返回true
hasIpAddress("192.168.1.1/29")  限制指定IP或指定范围内的IP才可以访问


相关文章
|
4天前
|
Java 测试技术 数据库
SpringBoot:@Profile注解和Spring EL
SpringBoot:@Profile注解和Spring EL
|
4天前
|
存储 安全 Java
Spring Boot整合Spring Security--学习笔记
Spring Boot整合Spring Security--学习笔记
62 1
|
4天前
|
XML 安全 前端开发
SpringSecurity系列(四) Spring Security 实现权限树形菜单
SpringSecurity系列(四) Spring Security 实现权限树形菜单
|
4天前
|
安全 Java 数据安全/隐私保护
【深入浅出Spring原理及实战】「EL表达式开发系列」深入解析SpringEL表达式理论详解与实际应用
【深入浅出Spring原理及实战】「EL表达式开发系列」深入解析SpringEL表达式理论详解与实际应用
90 1
|
4天前
|
安全 Java 数据库
【SpringSecurity】Spring Security 和Shiro对比
【SpringSecurity】Spring Security 和Shiro对比
129 0
|
4天前
|
安全 Java 数据库
【Spring Security】Spring Security 前后端分离认证
【Spring Security】Spring Security 前后端分离认证
70 0
|
4天前
|
XML 安全 Java
SpringSecurity系列(三) Spring Security 表单登录
SpringSecurity系列(三) Spring Security 表单登录
|
4天前
|
安全 JavaScript Java
SpringSecurity系列(一) 初识 Spring Security
SpringSecurity系列(一) 初识 Spring Security
|
4天前
|
Java 开发者 Spring
Spring AOP的切点是通过使用AspectJ的切点表达式语言来定义的。
【5月更文挑战第1天】Spring AOP的切点是通过使用AspectJ的切点表达式语言来定义的。
25 5
|
4天前
|
安全 Java 数据安全/隐私保护
【Spring底层原理高级进阶】【SpringCloud整合Spring Security OAuth2】深入了解 Spring Security OAuth2:底层解析+使用方法+实战
【Spring底层原理高级进阶】【SpringCloud整合Spring Security OAuth2】深入了解 Spring Security OAuth2:底层解析+使用方法+实战