为了账号安全,请及时绑定邮箱和手机立即绑定

关于roles["xxx","xxx"]的问题

我建立的用户拥有两个角色 admin 和 1 但是我在shiro.xml配置的时候 roles["admin","admin1"]提示成功roles["admin"}也成功,这是 与 的关系么,我怎么看是 或 啊 

正在回答

4 回答

roles参数可以写多个,多个时必须加上引号,并且参数之间用逗号分割,当有多个参数时,每个参数通过才算通过,相当于hasAllRoles()方法。shiro的角色过滤是and的关系。

0 回复 有任何疑惑可以回复我~

shiro默认对于角色授权的拦截是and关系,只有当该用户拥有配置的一个多个角色是才可通过

0 回复 有任何疑惑可以回复我~

roles的filter是通过subject.hasRoles(roles)判断是否满足所有权限,可以理解为and关系。

对于roles["admin","admin1"],由于用户拥有两个角色,所以subject.hasRoles()方法都可以通过,所以显示成功;

同理,roles["admin"]也可以通过subject.hasRoles()方法。

0 回复 有任何疑惑可以回复我~

也许是你缓存了吧,roles 就是或的关系

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

关于roles["xxx","xxx"]的问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信