【发布时间】:2010-01-13 12:51:03
【问题描述】:
我有两个域,domain1.com 和 domain2.com 指向同一个 asp.net 网站,该网站使用 asp.net 构建表单身份验证。问题是即使域指向同一个网站,用户一次也只能获得一个域的身份验证。因此,如果他先使用 www.domain1.com,然后访问 www.domain2.com,则后面的网站是同一个网站,但他只对 www.domain1.com 进行了身份验证。如果他在访问网站时使用 www 而不是 www,也会发生同样的事情。
这是我用来登录的:
FormsAuthentication.RedirectFromLoginPage(username, cookie.Checked);
检查登录:
User.Identity.IsAuthenticated
如何使用户获得指向同一网站的所有域的身份验证?
【问题讨论】:
-
身份验证cookie和大多数cookie一样,是按域存储的,避免跨域轮询和冒充。你为什么要这样做?
-
因为有时您希望用户能够无缝使用多个站点,而不必分别登录每个站点。
-
为什么不遵循 StackOverflow 方法并使用 OpenID 等外部身份验证提供程序。
-
即使您使用 OpenID,您仍然需要一种机制将票证转移到第二个域 - 当 SO 使用 UserVoice.com 进行错误/问题跟踪时,我仍然必须登录即使我在两个站点上使用相同的 OpenID 提供程序...
标签: asp.net forms-authentication