如何在两个跨域网站中进行身份验证

时间:2012-09-20 08:10:59

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

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

这样做的最佳解决方案是什么。

2 个答案:

答案 0 :(得分:1)

这可能对您有用:

  • 用户访问网站A
  • 用户登录网站A
  • 站点A在DB中为用户创建令牌
  • 站点A使用AES
  • 等加密令牌
  • 网站A使用网址中的加密令牌将用户重定向到网站B(或创建iframe)

E.g。

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)

答案 1 :(得分:0)

  

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

     

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

更多阅读Forms Authentication Across Applications