2017-06-02 61 views
0

我不知道如何從spring啓動oauth 2獲取當前記錄的用戶名。另外,我們有一個auth服務器和多個系統,我們希望在它們之間生成sso。此外,我們還需要在每個系統中使用會話。所以問題是我們如何從每個系統獲取當前的用戶名和會話。春季啓動OAuth 2獲取記錄器用戶名

+0

你可以使用'SecurityContextHolder.getContext()。getAuthentication ()'或者可以在控制器方法參數中使用'Principal principal'。 – nurgasemetey

+0

謝謝,我需要檢查。如何獲得會話。我們在哪裏可以保存用戶相關的變量(不在數據庫中),我們只需要會話; –

+0

然後你必須使用'Spring Session'來分配分佈式應用程序中的會話。通過這個你可以獲得會話。 – nurgasemetey

回答

0

使用JWT令牌,您可以在其中放置必要的信息並從令牌中提取信息。

http://www.svlada.com/jwt-token-authentication-with-spring-boot/

會議是什麼,實際上 「衝突」 與SSO但你可以嘗試鍵/值存儲來保存會話信息(例如Redis的https://dzone.com/articles/using-redis-session-storage

+0

恩,謝謝。但我確實認爲這是可能的。我們不希望用戶在每個系統中重新登錄。我們只想登錄一次用戶 –