ASP.NET能否跨多个域支持无缝单点登录?

时间:2011-04-15 10:51:16

标签: asp.net single-sign-on

我一直在尝试谷歌这个话题疯狂。我有这个主域名,有几个子域和alied域。所有这些站点共享将登录的同一组成员。当然,我必须给他们一个单点登录。所以我一直在寻找各种论坛(包括我们的论坛),但仍然没有运气。这就是我现在所做的事情。

我已经设置了所有网站的通用机器密钥和解密密钥,并且我的身份验证模式也设置为表单。就子域而言,它们工作正常,登录主要用户的用户在子域上得到确认。不幸的是,同一个案例对域名不起作用(我知道不能跨域访问cookie,但我已经设置了机器密钥和解密密钥。)

2 个答案:

答案 0 :(得分:1)

是和否。 .NET不支持“开箱即用”。

如果您愿意强制用户登录特定域,则可以将用户重定向到该域/登录页面。在主域上对用户进行身份验证后,您将用户重定向回原始页面并将某种加密密钥发布到告知站点用户已通过身份验证的页面,然后为新域设置cookie如果你想要一个持久的身份验证cookie。

这或多或少是使用Open ID时Stack Overflow等站点使用的方法,或者使用live id时使用msn的方法。

答案 1 :(得分:1)

您可能想要查看Windows Identity Foundation。或者看一下这篇文章:http://msdn.microsoft.com/en-us/magazine/ee335707.aspx

根据我的经验,这是有技术的,但实施它不会是在公园散步。