【转】解决shiro的Principal属性动态修改无效问题
【转】解决shiro的Principal属性动态修改无效问题
原文转载自:.html
因为要保存一些用户名之外的内容在shiro中,所以创建了一个ShiroUser的类,当用户修改了某些属性后,如何动态保存到shiro中:
Subject subject = SecurityUtils.getSubject();
ShiroUser shiroUser = (ShiroUser)subject.getPrincipal();
PrincipalCollection principalCollection = subject.getPrincipals();
//修改属性
shiroUser.setUsername("123");
String realmName = principalCollection.getRealmNames().iterator().next();
PrincipalCollection newPrincipalCollection = new SimplePrincipalCollection(shiroUser, realmName);
//重新加载Principal
subject.runAs(newPrincipalCollection)
思路就是重建一个PrincipalCollection,以它来运行
最新文章
- 卷积神经网络中特征图大小计算公式总结
- 【林达华】How To Get A Solution
- linux 下dump的使用
- 聊聊职场
- 全球五大职场社区
- 【魔兽世界】
- Revit 二次开发前景
- mmap 详解
- Android: How to Capture Screen in Gingerbread(2.3中实现截屏)
- cruisecontrol 配置
- 浅谈Linux标准的文件系统(Ext2Ext3Ext4)
- 端到端的网络流量监控
- Android 8.0 SurfaceFlinger
- Hashtable简述
- Spring @Scheduled定时任务的fixedRate,fixedDelay,cron的作用和不同
- 使用telnet登陆smtp服务发邮件(带身份验证)
- 推理题