敲代码的小小芮 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 fesafe材料库问题
  • ¥35 beats蓝牙耳机怎么查看日志
  • ¥15 Fluent齿轮搅油
  • ¥15 八爪鱼爬数据为什么自己停了
  • ¥15 交替优化波束形成和ris反射角使保密速率最大化
  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统