【发布时间】:2017-11-03 09:51:51
【问题描述】:
我不知道如何从 spring boot oauth 2 获取当前登录的用户名。此外,我们有一个身份验证服务器和多个系统,我们想在它们之间建立 sso。此外,我们还需要在每个系统中使用会话。所以问题是我们如何从每个系统中获取当前的用户名和会话。
【问题讨论】:
-
您可以在控制器方法参数中使用
SecurityContextHolder.getContext().getAuthentication()或Principal principal。 -
谢谢,我需要检查一下。如何获得会话。我们可以保存用户相关变量的地方(不在数据库中),我们只需要会话;
-
那么你必须使用
Spring Session,它在分布式应用程序中分发会话。通过这个可以获取session。 -
谢谢,不过我认为 sso 是无状态的。我需要检查一下。那么,请用 sso+session 提供一些代码示例?
-
这个spring.io/blog/2015/02/03/…可以帮助你。
标签: spring spring-boot oauth-2.0 single-sign-on httpsession