【问题标题】:Can SiteB Restrict Access Only to Users Authenticated on Site A? How?SiteB 能否将访问权限限制为仅在站点 A 上经过身份验证的用户?如何?
【发布时间】:2010-04-17 12:12:29
【问题描述】:

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

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

我还不知道 SiteA 使用的是什么身份验证系统,但我想我应该向社区询问一些初步想法。这甚至可能吗?我需要考虑什么?

谢谢

【问题讨论】:

    标签: asp.net authentication


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2019-06-28
      • 1970-01-01
      • 2010-09-21
      • 1970-01-01
      • 1970-01-01
      • 2010-10-07
      • 1970-01-01
      • 2016-01-15
      • 2016-10-09
      相关资源
      最近更新 更多