ASP.NET中的单点登录实现(具有两个不同应用程序的不同域)

时间:2011-09-27 01:05:39

标签: asp.net

我们有一个像www.Domain1.com这样的生产网站,并开发一个新的网络应用程序www.domain2.com,并希望实现单点登录。

我正在寻找解决方案,就像google的工作原理一样,如登录gmail,在gmail导航到其他谷歌应用程序,或者我们可以打开新窗口,我们可以使用picasa或其他谷歌应用程序登出。

我找到了一个有趣的解决方案,我们将开发一个专门的认证网站,如www.sso.com。

http://www.codeproject.com/KB/aspnet/CrossDomainSSOExample.aspx

我们使用webfarm环境,站点1和站点2将部署在webfarm环境中,但是当我们在webfarm中部署www.sso.com时,此解决方案将无效。

我相信谷歌可能已经在webfarm环境中实施了www.sso.com服务。我正在努力理解并实施相同的目标。

专家们,请向我们提供这方面的帮助,以及任何有助于我的信息。

1 个答案:

答案 0 :(得分:0)

AFAIK,在Google使用主auth网站/服务对用户进行身份验证后,它会向auth发出一组重定向。端点指向URL中具有一次性密钥的所有主域,因此每个域上的每个端点都设置auth。给定用户的cookie。

E.g。用户在http://sso.com/login登录,然后将其重定向到

http://domain1.com/auth?secret=12345
http://domain2.com/auth?secret=12345
...
http://domainX.com/auth?secret=12345

每个域都为浏览器设置了一个auth cookie。

如果我错了,请纠正我。