2015-04-22 290 views
0

此刻我試圖刪除已登錄的用戶在其他系統或使用管理員用戶的不同瀏覽器。註銷用戶,當它被管理員刪除時用戶

現在,當一個用戶被刪除時,它應該從登錄的任何地方註銷。

我已經在某一時刻使用春季安全會話管理(併發控制)停止從日誌用戶到應用程序中兩次http://wiki.pentaho.com/display/ServerDoc2x/Concurrent+Sessions+(Preventing+Users+from+Logging+in+More+Than+Once)

但問題是,當它已經被刪除了會議應該得到無效的用戶和它應該註銷並且因爲它已被刪除而不能夠返回。

底層數據庫是marklogic,我可以獲得該用戶的活動sessionId,但我應該也可以使該會話無效。

請讓我知道有什麼可用的選項?

回答

0

您可以使用Spring安全性的SessionRegistry。下面

沿着這一個的行的代碼段應該這樣做:

List<SessionInformation> userSessions = sessionRegistry.getAllSessions(user, false); 
    for (SessionInformation sessionInfo : userSessions) { 
     sessionRegistry.removeSessionInformation(sessionInfo.getSessionId()); 
    } 

你應該能夠自動裝配的SessionRegistry,然後用它如上所述。

如果你已經知道用戶的sessionId然後將下面的代碼應該工作以及:

sessionRegistry.removeSessionInformation(sessiondId); 
+0

非常感謝......我會給它一個嘗試,會看到它如何去... – Rohit

相關問題