首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用不同的Spring安全权限以编程方式释放用户

用不同的Spring安全权限以编程方式释放用户
EN

Stack Overflow用户
提问于 2012-04-13 16:06:40
回答 1查看 406关注 0票数 0

PreReq:

用户使用userService的自定义实现登录并获得从数据库获得的角色。即

身份验证-提供者用户-服务-ref=“securityPolicyService”

调用已实现的方法loadUserByUsername,并为用户加载要登录的特定俱乐部的角色,默认情况下第一次加载角色。

然后,用户点击一个与UI不同的俱乐部,我在一个服务上调用一个方法,该方法获取这个俱乐部的新权限列表。

然后我执行以下操作:

代码语言:javascript
运行
复制
Object principle = SecurityContextHolder.getContext().getAuthentication().getPrincipal();
SecureMember sm = (SecureMember) principle;
Authentication auth = 
      new UsernamePasswordAuthenticationToken(sm, null, newAuthories); <br><br>
    SecurityContextHolder.getContext().setAuthentication(auth);<br>
request.getSession(false).invalidate();

SecureMember从SpringFramework扩展了用户。

问题是SecureMember当局从来没有用新的更新过。

谢谢加里

EN

回答 1

Stack Overflow用户

发布于 2012-04-13 23:26:10

如果HttpSession为null,并且在请求期间无效,Security将不会存储安全上下文,因此,如果您在会话无效后设置上下文(并且不创建新会话),那么它将不会被存储。

如果是这样的话,您应该看到这条日志消息 (并且启用了调试日志记录)。

要么创建一个新会话,要么不使原来的会话无效。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10144377

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档