2012-09-20 56 views
0

我有2個網站。其中之一是「主要網站」。我有網站「用戶偏好」。如何實現當我們已經登錄「主要網站」時的邏輯,當我們點擊「用戶首選項」網站的鏈接時,我們也將在本網站上進行認證。如何在跨域網站進行身份驗證

什麼是最好的解決方案。

+0

也許它應該像SSO。但不知道如何與兩個網站做到這一點。 – Sergey

回答

1

這可能會爲你工作:

  • 用戶訪問站點A
  • 用戶登錄到站點A
  • 站點A在用戶數據庫中爲用戶創建令牌
  • 站點A使用somet興如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)
0

要在應用程序配置表單身份驗證,您正在參與 共享窗體身份驗證的所有應用程序設置的形式和Web.config文件 的部分的machineKey以相同的值 屬性。

以下示例顯示了Web.config 文件的身份驗證部分。除非另有說明,保護路徑的validationKey驗證decryptionKey,並解密屬性 必須在所有應用程序相同。類似地,用於認證票證(cookie數據)的加密 和驗證密鑰值以及加密方案和驗證 方案必須是相同的。 如果設置不匹配,則不能共享身份驗證票證。 有關如何生成validationKey和 decryptionKey屬性值的信息,請參閱如何在ASP.NET 2.0中配置MachineKey。 (本主題適用於ASP.NET 2.0和更高版本。)

更多閱讀在Forms Authentication Across Applications