我對我的情況感到困惑。我有部署在不同機器(和域)中的單獨應用程序(ASP.NET 4.0 Web窗體和ASP.MVC),每個應用程序都有其自己的用戶和角色結構(單獨的MS SQL數據庫)。 MVC應用程序目前處於早期實施階段。 Web表單應用程序適用於生產環境。ASP.Net單點登錄Webforms和MVC(不同的數據庫和域)
我需要做的是在這些應用之間實現SSO。我想有自動認證 - 登錄到asp.net web窗體應用程序後,我需要通過asp.mvc應用程序端進行認證。
我知道通過auth cookie實現SSO的要求是讓這兩個應用程序都可以在普通數據庫和域(或子域)上工作,但在我的情況下確實沒有可能以最少的努力建立SSO?
目前我有2個想法:
1)使用第三方工具(OAuth的) - 但我沒有讀到它尚未
2)創建MVC的側一些WCF serivces對用戶進行認證:網絡表單應用程序將通過wcf服務(加密數據)發送登錄名和密碼(哈希?),mvc應用程序將驗證此數據。經過肯定的驗證後,mvc應用程序將開始對此登錄名和密碼進行FORMS身份驗證。
我不確定我的任何概念是否可行和安全。
您是否同意這兩個概念中的任何一個,或者有任何其他建議來解決我的問題?我會很感激你的幫助。
編輯 - 解釋需要
,它是我們客戶的需求 - 網頁表單應用程序是舊的,它目前從事的生產環境。它有自己的定製memebrship提供程序連接到用戶和角色MSSQL數據庫表。新的應用程序將用asp.mvc 4編寫,並將擁有自己的用戶註冊頁面和用戶結構等。 它必須部署在不同的機器上。
一些舊的應用程序的用戶將在新的應用程序被複制(啓動),因爲它們必須登錄到舊後看到一些功能的新appllication的 。從他們的角度看,新的應用程序是舊的Web表單應用程序的一部分(新模塊)。另一方面,新的應用程序必須是獨立的,並且將會是一些用戶池,他們將只使用新的應用程序。只有在一個業務流程的情況下,這兩個應用程序纔會被集成(通過wcf或rest服務來同步訂單)。
是的,它是一種跨子域SSO。但是,您是如何處理不同數據庫中的不同用戶表的? – luke
在我們的案例中,表單身份驗證不符合AD。爲什麼您計劃使用單一身份驗證對不同的用戶表進行身份驗證? – Ravi
我編輯了原始文章,因爲答案太長。我已經添加了「解釋需要」部分 – luke