SiteB是否只能限制对站点A上验证的用户的访问?怎么样?

时间:2010-04-17 12:12:30

标签: asp.net authentication

我最近被要求估算一项工作,该工作将为经过身份验证的用户提供访问我们网站的功能。问题是,用户必须在不同的网站上进行身份验证。域名到我们托管的那个。

用户在SiteA.com上进行身份验证,并向他们提供指向我们网站SiteB的链接。只有在SiteA上进行过身份验证的用户才能访问SiteB.com。

我还不知道SiteA使用的身份验证系统,但我想我会向社群提出一些初步想法。这甚至可能吗?我需要考虑什么?

由于

1 个答案:

答案 0 :(得分:2)

使用Forms Authentication可以进行单点登录。以下是步骤:

  1. 配置两个网站以进行表单身份验证并设置相同 machine keys(这对第4步非常重要)。
  2. 用户在SiteA.com上进行身份验证,并在此站点上为他颁发cookie。
  3. 在SiteA上伪造一个链接,该链接会将包含隐藏字段中的身份验证Cookie值的表单发布到SiteB.com上不需要身份验证的页面(请确保仅通过HTTPS发布)。
  4. SiteB.com上的页面读取已过帐令牌的值,对其进行解密并使用FormsAuthentication.GetAuthCookie
  5. 为SiteB.com发出身份验证Cookie
  6. 重定向到SiteB.com的经过身份验证的部分