2013-04-16 98 views
1

我有一個使用舊學校asp.net(v2.0)編寫的舊應用程序,我需要使用MVC3,.Net 4.0編寫的新站點進行集成。 (如果需要,舊網站可以升級到4.0)Asp.Net和MVC站點混合使用Forms身份驗證單點登錄

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

如果這兩個站點都在同一個域中,並且具有相同的機器密鑰,它應該工作嗎?

編輯:對於這個問題的另一部分,如果SSO可以使用表單身份驗證工作,也可以允許這兩個應用程序使用相同的會話狀態服務,因此可以跨越應用程序?我知道sessionid存儲在cookie中,那麼這兩個應用程序是否能夠訪問單個用戶的相同會話信息?

+0

標準成員提供的架構並沒有改變,直到2012年的版本。所以,是的,你可以對一個2.0運行4.0會員庫模式 –

回答

0

表單認證是由域限制(因爲Cookie僅限於由默認域(或子域如果配置)。如果在同一域內然後肯定的。可製成

變通共享跨域身份驗證

一個解決方法是使用Web服務進行遠程身份驗證,每個相關站點都會使用相同的服務進行身份驗證,即使身份驗證仍然是域特定的,也可以創建一個解決方法,到另一個域中的請求,該標識符將被用於基於一些常見的i自動認證用戶標識符(用戶名,電子郵件等)。由於我們正在談論http通信,它不一定「具有」.net特定的,但它會簡單得多。

還有OAuth開放認證協議需要考慮。幾乎所有主要平臺都支持OAuth,因此它應該是平臺不可知的。但是,我不知道「自動認證重定向到其他應用的想法可能違反了OAuth,如果是這種情況,用戶需要點擊按鈕來確認某件事情。

的的OAuth的很好的例子就在這裏堆棧溢出和整個堆棧Exchange系列站點。

相關問題