即使多次调用,也只创建一次spring bean

时间:2016-06-06 13:00:24

标签: java spring spring-security

我们有两个应用程序相互通信。当用户在第一个应用程序中进行身份验证时,我们希望将用户上下文传递给另一个应用程序。

我想为其他应用程序创建用户上下文并将其传递给应用程序,但我想将用户上下文创建限制为仅一次。这可以通过指定scope="singleton"来实现吗?唯一的问题是我必须以编程方式执行此操作,因为我的bean只有在第一个应用程序验证用户身份后才会被实例化。

我的所有服务都将从第一个应用程序调用第二个应用程序,我想确保第二个应用程序的用户上下文(spring bean)只创建一次。

其次,当会话超时发生时,我将不得不为第二个应用程序重新创建用户上下文。

有人可以指导我吗?

1 个答案:

答案 0 :(得分:0)

我认为您不想传递用户上下文bean本身,而是交换某种令牌。 Spring使用SAML进行单点登录,可能需要查看:http://docs.spring.io/spring-security-saml/docs/current/reference/html/configuration-sso.html