两个单独的Web应用程序之间的身份验

时间:2011-01-26 18:35:07

标签: java spring authentication

我有两个Web应用程序存在于不同的Web服务器上,但如果您在Web应用程序A中进行了身份验证,那么用户也应该在Web应用程序B中进行身份验证。反之则不然,Web应用程序A是“主”认证。所以它基本上是单点登录。我已经在应用B上设置了Spring Security,但是应用A不会配置Spring,因为它不受我的控制。任何人都有任何关于应用程序A可以发送到基于Spring的应用程序B的想法,以告诉用户在应用程序A中进行了身份验证?它不一定是Spring解决方案,但必须基于java。谢谢你的帮助!

2 个答案:

答案 0 :(得分:1)

如果两个应用程序都使用spring,最简单的方法是使用其http invoker机制,并交换一些令牌。这些令牌究竟取决于您的需求。您可以使用SSL +客户端证书,也可以使用OAuth或简单身份验证(仍然使用ssl)。

答案 1 :(得分:0)

你可以在A上使用某种openId,所以B上的用户可以要求用户使用A作为提供者登录(就像我们心爱的堆栈溢出一样),然后B可以使用'remember me'语义,这样每次登录都不需要。

A可以提供某种可以从B以编程方式访问的Web服务,但是B需要要求用户提供要传输到A的凭据。(除非两个应用程序都在同一个域中,否则您不能使用cookie;如果他们在同一个域,你可以使用cookies)。

无论哪种方式都需要在A上完成工作。