shiro 用户权限修改 动态更新权限 重新赋值权限
来源:互联网 发布:php微信分销系统源码 编辑:程序博客网 时间:2024/05/02 18:25
/** * 重新赋值权限(在比如:给一个角色临时添加一个权限,需要调用此方法刷新权限,否则还是没有刚赋值的权限) * @param myRealm 自定义的realm * @param username 用户名 */ public static void reloadAuthorizing(MyRealm myRealm,String username){ Subject subject = SecurityUtils.getSubject(); String realmName = subject.getPrincipals().getRealmNames().iterator().next(); //第一个参数为用户名,第二个参数为realmName,test想要操作权限的用户 SimplePrincipalCollection principals = new SimplePrincipalCollection(username,realmName); subject.runAs(principals); myRealm.getAuthorizationCache().remove(subject.getPrincipals()); subject.releaseRunAs(); }
实际项目代码
//add by jizhun at 重新修改权限后清楚缓存,调用doGetAuthorizationInfo重新取角色的权限信息RealmSecurityManager rsm = (RealmSecurityManager) SecurityUtils.getSecurityManager();ShiroRealm shiroRealm = (ShiroRealm)rsm.getRealms().iterator().next();Subject subject = SecurityUtils.getSubject(); String realmName = subject.getPrincipals().getRealmNames().iterator().next(); logger.info("oper.user="+user.getEmail()+",login.user="+SecurityUtils.getSubject().getPrincipal().toString());//shiroRealm.clearAllCachedAuthorizationInfo2();//清楚所有用户权限//第一个参数为用户名,第二个参数为realmName,test想要操作权限的用户 SimplePrincipalCollection principals = new SimplePrincipalCollection(user.getEmail(),realmName); subject.runAs(principals); shiroRealm.getAuthorizationCache().remove(subject.getPrincipals()); shiroRealm.getAuthorizationCache().remove(user.getEmail()); subject.releaseRunAs();
//清楚所有用户权限
/** * 清空所有关联认证 */ public void clearAllCachedAuthorizationInfo2() { Cache<Object, AuthorizationInfo> cache = getAuthorizationCache(); if (cache != null) { for (Object key : cache.keys()) { System.out.println(key+":"+key.toString()); cache.remove(key); } } }
0 0
- shiro 用户权限修改 动态更新权限 重新赋值权限
- Shiro动态修改权限
- Shiro动态修改权限部分
- shiro 动态修改资源权限不需要重启项目或者重新登录用户
- shiro实现动态权限管理
- Linux权限——用户权限修改
- shiro学习--从数据库获取动态权限
- shiro安全框架扩展教程--如何动态修改资源权限不需要重启项目
- 读出权限 保存用户权限
- oracle用户权限,系统权限
- java鬼混笔记:shiro 9、缓存授权,免重新登录更新用户权限
- 【转载】【权限控制】角色访问动态生成用户权限菜单树
- 关于shiro后台权限改动,重新登录后发现权限还是以前的问题的解决
- 【Shiro权限管理】17.Shiro权限注解
- 【Shiro】SpringMVC+Shiro权限管理
- shiro框架不需要重启动态更新权限资源
- 《权限系列shiro+cas》----修改cas的默认登录页
- Shiro学习(19)动态URL权限限制
- DNS 问题
- 大写改小写
- jquery自定义选择符
- VC++编译GSL
- 一元多项式的加法(java实现)——浙大数据结构(陈越)
- shiro 用户权限修改 动态更新权限 重新赋值权限
- 人不成熟的五个特征,极准!
- 甲方、乙方、监理
- iOS之AFNetworking3.x使用自签名证书建立https连接
- Objective-C Associated Objects 的实现原理
- 将jar包安装到maven本地仓库中
- cocosPod 清除本地缓存
- .Net界面库总结[附免费下载]
- LDA线性判别分析