我有一个要求,我需要在两个不同的网站之间实施SSO。
其中一个网站称www.abc.com是使用ASP.NET编写的,并且托管在IIS 7.0上。第二个网站称www.xyz.com是使用PHP编写的,并使用Apache Web服务器。这两个网站都使用不同的数据库,并使用不同的算法来验证用户。
我不能使用第三方SSO,因为这意味着要更改两个网站的身份验证。想知道这是否可行,如果是,那该方法应该是什么?
提前致谢...
答案 0 :(得分:8)
我们可以找到另一种方法。基本上,我们试图通过使用两个cookie(每个站点创建一个www.abc.com和www.xyz.com)来解决这个问题,但由于我们无法找到一种阅读跨域cookie的方法,我们被困住了。
然而,我偶然发现了forums.asp.net和hotmail的工作方式。他们使用live.microsoft.com来设置身份验证cookie。
现在,我们计划创建第三个用于验证用户身份的网站。 www.abc.com和www.xyz.com中的登录表单将调用第三个网站来设置身份验证cookie。使用此身份验证Cookie,我们将允许用户在两个网站上进行无缝浏览。
另外,发现了一篇关于这个实现的非常好的文章。 http://www.codeproject.com/Articles/114484/Single-Sign-On-SSO-for-cross-domain-ASP-NET-applic