shiro 清除指定用户授权缓存shiro 清除指定用户授权缓存

简介: shiro如何清空其他用户授权?修改授权后如何实时刷新?

先上代码块:

/**
   * 清空用户关联权限认证,待下次使用时重新加载
   */
  public void clearCachedAuthorizationInfo(Principal principal) {
      Subject subject = SecurityUtils.getSubject();   
       // String realmName = subject.getPrincipals().getRealmNames().iterator().next();   
        SimplePrincipalCollection principals = new SimplePrincipalCollection(principal,getName());   
        subject.runAs(principals);   
        clearCachedAuthorizationInfo(subject.getPrincipals());
        subject.releaseRunAs();
  }

解决思路,利用shiro清空当前用户权限的方法,将当前用户进行设置假身份为目标用户,也就是需要修改的用户,subject.runAs(principals); 然后进行clearCachedAuthorizationInfo权限清空,清空后再恢复原身份,subject.releaseRunAs();

1、获取当前用户subject(shiro登录对象)

2、生成目标用户自定义信息SimplePrincipalCollection

3、将当前用户设置为目标用户(假定身份)

4、进行权限清空操作

5、将假定身份恢复为之前登录用户;

目录
相关文章
|
5月前
|
缓存 NoSQL Apache
Shiro - 缓存管理与CacheManagerAware接口
Shiro - 缓存管理与CacheManagerAware接口
34 0
|
缓存 NoSQL 安全
2021年你还不会Shiro?----10.使用redis实现Shiro的缓存
上一篇文章已经总结了使用ehCache来实现Shiro的缓存管理,步骤也很简单,引入依赖后,直接开启Realm的缓存管理器即可。如果使用Redis来实现缓存管理其实也是一样的,我们也是需要引入redis的依赖,然后开启缓存传入自定义的redis的缓存管理器就行。区别是我们需要为自定义的redis缓存管理器提供自定义的缓存管理类。这个缓存管理类中需要使用到redisTemplate模板,这个模板我们也是需要自己定义。
232 0
2021年你还不会Shiro?----10.使用redis实现Shiro的缓存
|
存储 缓存 NoSQL
2021年你还不会Shiro?----9.Shiro利用缓存存储权限信息
前面的学习以及清楚,我们每调用一次权限的判断,就会默认调用一次自定义Realm中的doGetAuthorizationInfo方法进行过权限验证,但是当用户量与并发量比较高时,再按照这种方式去查询数据库,就会给系统带来很大的压力,让系统的响应变得很慢很,容易降低用户体验。这时候我们就需要使用缓存来存储已经登录的用户信息和用户的权限信息,缓存都是基于内存实现的比数据库快了很多,这样用户进来,直接从缓存中获取信息就行,不用去争抢有限的数据库资源了。
172 0
2021年你还不会Shiro?----9.Shiro利用缓存存储权限信息
|
Web App开发 缓存 网络协议
chrome谷歌浏览器&firefox火狐清除dns缓存的办法
chrome谷歌浏览器&firefox火狐清除dns缓存的办法
438 0
chrome谷歌浏览器&firefox火狐清除dns缓存的办法
|
缓存 网络协议 安全
清除ARP缓存的方法
清除ARP缓存的方法
1969 0
|
缓存 JSON NoSQL
Shiro使用Redis作为缓存
Shiro使用Redis作为缓存!
|
Web App开发 缓存
Chrome 谷歌浏览器清除HTTPS证书缓存
Chrome 谷歌浏览器清除HTTPS证书缓存
946 0
Chrome 谷歌浏览器清除HTTPS证书缓存
|
缓存 NoSQL 前端开发
Shiro - Spring + Jedis(会话、缓存、自动登录)整合篇(下)
Shiro - Spring + Jedis(会话、缓存、自动登录)整合篇(下)
163 0
Shiro - Spring + Jedis(会话、缓存、自动登录)整合篇(下)
|
XML 存储 缓存
Shiro - Spring + Jedis(会话、缓存、自动登录)整合篇(上)
Shiro - Spring + Jedis(会话、缓存、自动登录)整合篇(上)
220 0
Shiro - Spring + Jedis(会话、缓存、自动登录)整合篇(上)