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