敲代码的小小芮 2019-04-26 12:26 采纳率: 0%
浏览 1176

shiro用户权限始终是登录的第一个用户的权限?

小白一枚,在使用springboot+shiro的时候,发现一个问题,使用注解来判断
用户是否具有该权限时,

@RequiresRoles(value = {"admin"},logical = Logical.AND)

退出当前用户后

 Subject subject = SecurityUtils.getSubject();
 subject.logout();

shiro始终使用的是第一个登录用户的权限角色信息,
也就是说如果我第一次登录admin用户后,访问带有权限验证的注解时,shiro会去调用方法如下

AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals)

我在这里去构建了该用户的权限,我了解shiro会缓存用户的认证和授权,但是用户退出后,shiro依然缓存上一个用户的权限。

因为没太明白shiro对授权这一块是否有缓存,或者说缓存机制是怎么样的,所以这个问题一直没解决。

  • 写回答

1条回答

  • 农夫丶果园 2019-04-26 16:10
    关注

    你的意思是指 你用具有admin权限的用户登录并访问该接口 , 可以正常访问 , 但是登出了之后 , 使用不具有admin权限的用户登录进来依旧可以访问该接口 ?

    评论

报告相同问题?

悬赏问题

  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊
  • ¥15 安装svn网络有问题怎么办