2010-04-02 189 views
12

我一直在試圖瞭解如何解決這個問題一個多月了。我真的需要想出一個可行的一般方法。我有一個理論,但我不確定這是最簡單的(或正確的)方法,而且我還沒有找到任何信息來支持我的想法。單一登錄爲Web應用程序

這裏的情景:

1)您有一個複雜的網絡應用程序,它提供了一個基於訂閱的安全內容。

2)用戶需要使用用戶名和密碼登錄到您的應用程序。

3)您出售給已經擁有企業認證技術的大型企業(例如Active Directory)。

4)您想與企業身份驗證機制集成以允許其用戶登錄Web應用程序,而無需輸入其用戶名和密碼。

現在,你拿出任何解決方案必須爲提供一種機制:

  • 添加新用戶
  • 刪除用戶
  • 更改用戶信息
  • 允許用戶登錄

理想情況下,所有這些都會在企業客戶進行相應更改時「自動」發生他們自己的認證。

現在,我有一個理論認爲,實現這一目標的方法(至少對於Active Directory)應該是爲了編寫一個客戶端應用程序,該應用程序與客戶的Active Directory集成以跟蹤目標更改,然後進行通信對我的Web App的更改。我認爲,如果這種溝通是通過我的網絡應用程序提供的Web服務完成的,那麼它將保持不可破壞的安全級別,這顯然是這些公司客戶的要求。

我發現了一些有關稱爲Active Directory聯合身份驗證服務(ADFS)的Microsoft產品的信息,這些信息可能對我來說也可能不正確。這似乎有點笨重,並且有一些要求可能不適用於所有客戶。

對於其他現有的ID場景(如雅典和Shibboleth),我不認爲客戶端應用程序是必要的。這可能只是綁定到現有ID服務的問題。

我希望任何人對我在這裏提到的任何建議有任何建議。特別是,如果您能告訴我我的理論是否正確地提供了一個與服務器端Web服務進行通信的客戶端應用程序,或者我完全走錯了方向。另外,如果你能指出我在任何網站或文章解釋如何做到這一點,我真的很感激它。到目前爲止,我的研究還沒有發現。

最後,如果您可以讓我知道當前提供此服務的任何Web應用程序(尤其是與公司Active Directory綁定的),我將非常感激。我想知道其他B2B Web應用是否像salesforce.com或hoovers.com爲其企業客戶提供類似的服務。

我討厭在黑暗中,並會非常感謝你可以擺脫任何光線...

傑里米

+0

我很好奇爲什麼昨天有人低估了這個問題。謹慎評論? – 2012-05-26 04:52:52

+0

請注意,在發佈某人低估了它之後是兩年。巧合的是(或許?),貶低它的人可能是第一千名觀衆。 – 2012-05-26 06:39:36

+0

我正在尋找非常相似的東西。你有沒有解決你的問題?請分享有關如何實現這一目標的任何見解。 – Gala101 2013-07-26 06:25:03

回答

3

Shibboleth被設計爲支持的正是這種情況。但是,它將依賴於您的客戶公司實施身份提供商機制。目前,這在大學裏只是非常普遍。此外,如果您需要用戶信息(不僅僅是一個假名標識符),您需要公司同意將這些屬性發布給您。

我發現很難相信很多公司會爲您提供公司認證系統,只是爲了提供SSO。

您可能會發現依靠OpenID或其他類似方法更好,並使用「記住我」cookie來減少人們輸入密碼的需要。

2

你的方法的一個基本問題是你正在孤立地考慮你的web應用程序。您客戶公司的員工不僅僅需要SSO到您的Web應用程序,還有一些/少數/其他人員,並且擴展您的方法需要爲每個人提供定製的實現以實現訪問。

因此,OpenAthens和Shibboleth在學術圖書館界廣泛採用,以利用本地頒發的憑證。一個典型的大中型大學可以訂閱來自50多個不同發行商的各種產品/服務,通過部署OpenAthens/Shibboleth,他們可以利用SAML開放標準(SAML是Shibboleth使用的協議)不僅在學術部門,而且在商業部門。

John在上面的回答中指出了另一個問題:最近出現了許多開放標準,其中包括SAML和OpenID。因此,內容提供商必須決定是否要本地實現其中的一部分或全部,但他們使用單獨的技術堆棧,因此實施和支持成本可能會重複。

不少主要出版商已經實現OpenAthens因爲這支持雅典,SAML/Shibboleth的和OpenID在一個單一平臺,選擇在其他技術插過,或編寫自定義模塊允許一個內部應用程序進行連接,例如該客戶的用戶在登錄的發票或權利的系統記錄。

訪問管理的這個部門肯定是走向開放的標準,因此建立自己的方法將被剝奪到你的應用程序的大量用戶

的訪問
相關問題