五分钟带你玩转SpringSecurity(四)晋级!Spring EL 权限表达式全集
【摘要】
Spring Security 允许我们使用 Spring EL 表达式,来进行用户权限的控制,如果对应的表达式结果返回true,则表 示拥有对应的权限,反之则无。 Spring Security 可用表达式对象的基类是 SecurityExpressionRoot 参见此类即可。
表达式描述permitAll()总是返回true,表...
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才可以访问 |
文章来源: baocl.blog.csdn.net,作者:小黄鸡1992,版权归原作者所有,如需转载,请联系作者。
原文链接:baocl.blog.csdn.net/article/details/113626756
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)