2017-06-02 57 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

恩,谢谢。但我确实认为这是可能的。我们不希望用户在每个系统中重新登录。我们只想登录一次用户 –