2010-01-04 89 views
0

我有一個j2ee web應用程序使用spring安全性在spring web流上運行。如何在運行期間更改我在會話中保存的角色?Spring Security訪問角色

回答

2

如果這是可能的,這將是這樣的:如果訪問一個受限制的頁面

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); 
+0

如何將用戶重定向到另一個頁面。因爲目前它顯示 錯誤404 - 未找到 從RFC 2068超文本傳輸​​協議 - HTTP/1.1: 10.4.5 404未找到 服務器沒有找到任何匹配的Request-URI。沒有跡象表明病情是暫時的還是永久性的。 – cedric 2010-01-05 08:33:43

+0

我的回答對你有幫助嗎?我在你的新帖子中回答了這個不相關的問題。 – rodrigoap 2010-01-05 14:24:15

相關問題