簡體   English   中英

混合使用Asp.Net和MVC網站的表單身份驗證單一登錄

[英]Forms Authentication single sign on for Asp.Net and MVC sites mixed

我有一個使用老派asp.net(v2.0)編寫的舊應用程序,我需要將該應用程序與使用MVC3,.Net 4.0編寫的新站點集成。 (如果需要,舊站點可以升級到4.0)

這可能嗎? 我已經讀過有關在多個站點上使用帶有表單身份驗證的SSO的信息,但是所有帖子都涉及多個asp.net或多個MVC站點-我還沒有看到有關將兩者混合的任何信息。

如果兩個站點都在同一個域中,並且具有相同的機器密鑰,是否可以使用?

編輯:這個問題的另外一部分,如果可以使用表單身份驗證使SSO正常工作,是否還可以允許這兩個應用程序使用相同的會話狀態服務,從而在應用程序之間共享會話狀態? 我知道sessionid存儲在cookie中,所以兩個應用程序都能為一個用戶訪問相同的會話信息嗎?

表單身份驗證受域限制(因為默認情況下cookie受限於域(或子域,如果已配置)。如果在同一域中,則為是。

不過,也可以進行變通以在域之間共享身份驗證。

解決方法之一是使用Web服務進行遠程身份驗證。 所涉及的每個站點都將使用相同的服務進行身份驗證,即使身份驗證仍是特定於域的,也可以創建一種變通方法,包括將標識值傳遞給另一個域中的請求。 該標識符將用於基於一些通用標識符(用戶ID,電子郵件等)自動認證用戶。 由於我們正在談論http通訊,因此不一定要“ .net特定”,盡管它要簡單得多。

還需要考慮OAuth開放式身份驗證協議。 幾乎所有主要平台都支持OAuth,因此它應該與平台無關。 但是,我不知道“重定向到您的其他應用程序時進行自動身份驗證,可能違反了OAuth。如果是這種情況,用戶將需要單擊按鈕以確認某些內容。

OAuth的一個很好的例子就是Stack Overflow和整個Stack Exchange系列站點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM