【发布时间】:2011-01-01 03:11:40
【问题描述】:
我有一个使用 Spring Security 在 Spring Web Flow 上运行的 j2ee Web 应用程序。如何在运行时更改会话中保存的角色?
【问题讨论】:
标签: spring-security
我有一个使用 Spring Security 在 Spring Web Flow 上运行的 j2ee Web 应用程序。如何在运行时更改会话中保存的角色?
【问题讨论】:
标签: spring-security
如果可能的话,应该是这样的:
SecurityContext context = SecurityContextHolder.getContext();
Object principal = context.getAuthentication().getPrincipal();
Object credentials = context.getAuthentication().getCredentials();
GrantedAuthority[] authorities = new GrantedAuthority[1];
authorities[0] = new GrantedAuthorityImpl("MY_NEW_ROLE");
Authentication auth = new UsernamePasswordAuthenticationToken(
principal, credentials, authorities);
SecurityContextHolder.getContext().setAuthentication(auth);
【讨论】: