SpringSecurity页面标签

hasRole(),是否拥有某一个权限

hasAnyRole(),多个权限中有一个即可,如 hasAnyRole(“ADMIN”,“USER”)

hasAuthority(),Authority 和 Role 很像,唯一的区别就是 Authority 前缀多了 ROLE_ ,如 hasAuthority(“ROLE_ADMIN”) 等价于 hasRole(“ADMIN”) ,可以参考上面 IsUser.java 的写法

hasAnyAuthority(),同上,多个权限中有一个即可

permitAll(), denyAll(),isAnonymous(), isRememberMe(),通过字面意思可以理解

isAuthenticated(), isFullyAuthenticated(),这两个区别就是isFullyAuthenticated()对认证的安全要求更高。例如用户通过记住密码功能登入到系统进行敏感操作,isFullyAuthenticated()会返回false,此时我们可以让用户再输入一次密码以确保安全,而 isAuthenticated() 只要是登入用户均返回true。

principal(), authentication(),例如我们想获取登入用户的id,可以通过principal() 返回的 Object 获取,实际上 principal() 返回的 Object 基本上可以等同我们自己编写的 CustomUser 。而 authentication() 返回的 Authentication 是 Principal 的父类,相关操作可看 Authentication 的源码。进一步了解可以看后面Controller编写中获取用户数据的四种方法

hasPermission(),参考字面意思即可

sec:authorize=“isAuthenticated()”
判断用户是否已经登陆认证,引号内的参数必须是isAuthenticated()。
sec:authentication=“name”
获得当前用户的用户名,引号内的参数必须是name。
sec:authorize=“hasRole(‘role’)”
判断当前用户是否拥有指定的权限。引号内的参数为权限的名称。
sec:authentication=“principal.authorities”
获得当前用户的全部角色,引号内的参数必须是principal.authorities。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值