【问题标题】:How to be authenticated in both cross domain websites如何在两个跨域网站中进行身份验证
【发布时间】:2012-09-20 08:10:58
【问题描述】:

我有 2 个网站。其中之一是“主网站”。我有“用户偏好”的网站。如何实现当我们已经登录“主网站”时,当我们点击“用户偏好”网站的链接时,我们也会在这个网站上进行身份验证。

什么是最好的解决方案。

【问题讨论】:

  • 也许它应该像 SSO。但不知道如何在两个网站上做到这一点。

标签: asp.net html asp.net-mvc authentication


【解决方案1】:

这可能对你有用:

  • 用户访问站点 A
  • 用户登录站点 A
  • 站点 A 在数据库中为用户创建令牌
  • 站点 A 使用 AES 之类的方法加密令牌
  • 站点 A 使用 URL 中的加密令牌将用户重定向到站点 B(或创建 iframe)

例如

www.site-b.com/remote/login?token=DSJABDUISA65ASA65ASD$#A&DE7t8%SARD$A%AS*%^DR76daBDD$#A&DE7t8%SARD$A%ASA65ASD$#A&DE7t8%SARD$A%AS*%^DR76daBD*%^DR76daBDsFA%vd%Bd
  • 站点 B 解密、验证和删除令牌
  • 站点 B 自动让用户登录
  • 站点 B 将用户重定向回站点 A(或终止 iframe)

【讨论】:

    【解决方案2】:

    要配置跨应用程序的表单身份验证,您可以设置 Web.config 文件的表单和 machineKey 部分的属性 参与的所有应用程序的值相同 共享表单身份验证。

    以下示例显示了 Web.config 的身份验证部分 文件。除非另有说明,名称保护路径validationKeyvalidationdecryptionKeydecryption 属性 在所有应用程序中必须相同。同样,加密 和验证密钥值以及加密方案和验证 用于身份验证票证(cookie 数据)的方案必须相同。 如果设置不匹配,则无法共享身份验证票。 有关如何为 validationKey 和 decryptionKey 属性,请参阅如何:在 ASP.NET 中配置 MachineKey 2.0。 (本主题适用于 ASP.NET 2.0 版及更高版本。)

    更多阅读请访问Forms Authentication Across Applications

    【讨论】:

      猜你喜欢
      • 2014-10-25
      • 2019-02-25
      • 2023-04-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-21
      • 1970-01-01
      • 2023-03-11
      • 2021-01-13
      相关资源
      最近更新 更多