2012-04-24 25 views
3

我有一个需求,我需要在两个不同的网站之间实现SSO。不同平台的两个网站之间的SSO

www.abc.com网站之一是使用ASP.NET编写的,托管在IIS 7.0上。第二个网站说www.xyz.com是使用PHP编写的,并使用Apache Web服务器。这两个网站使用不同的数据库并使用不同的算法对用户进行身份验证。

我无法使用第三方SSO,因为这意味着要更改这两个网站的身份验证。想知道这是否可行,如果是的话,应该采取什么方法?

在此先感谢...

+0

您是否在每个数据库中都有匹配的用户记录,即应用程序1和应用程序2中是否都存在用户标识x? – 2012-04-24 21:48:33

+0

不,他们都是完全不同的网站,但他们可能有拥有共同电子邮件ID的用户。 – Hari 2012-04-30 16:54:15

回答

6

我们可以找到一种替代方法。基本上,我们试图通过使用两个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

相关问题