2013-09-30 64 views
-1

我只想在以下方案中獲得您的意見: 我需要開發多個使用單一登錄服務的網站。如果用戶點擊該網站並且他沒有被認證,他需要被要求提供證書,並且之後應該被允許在一段時間內使用任何網站。 每個用戶將擁有一組可以爲每個網站定義的角色,並應嚴格執行。
OAuth最好的方法去或有其他你知道的很好的選擇?
僅僅開發我自己的服務是否值得努力?多個站點的單一登錄

我忘了提及我們不希望將Google,Facebook,Twitter等用作OAuth提供程序,因此如果我們使用OAuth,我們必須創建自己的提供程序。

回答

0

我推薦OAuth2或WS-Federation,都是SSO協議,並且實現兩者的努力是可比的。

通過DotNetOpenAuth庫實現OAuth2,WS-Federation可以在.NET 4.5中本地實現,因爲它是基類庫的一部分。請注意,實現身份提供者要實現服務提供者(一個只允許用戶使用身份提供者登錄的應用程序)稍微困難一些。

我也推薦一個偉大的免費的電子書,引導到基於聲明的安全和訪問控制:

http://msdn.microsoft.com/en-us/library/ff423674.aspx

0

在google上閱讀有關機器密鑰的更多信息。它會給你清楚的關於單點登錄的想法。

+0

雖然具有相同的機器按鍵** **是一個具有方式爲單點登錄多個網站,這是相當有限的。所有網站都必須在.NET中實施。此外,要共享表單Cookie,所有網站必須公開在同一個域的子域上。真正的SSO協議,如OAuth2,Shibboleth或WS-Federation沒有這樣的限制。 –