2011-06-09 6 views
6

我們有一個Web應用程序(asp.net mvc 3),它應該支持通過AD進行內部使用的SSO。我們還有一個龐大的外部用戶社區,我們希望爲我們的所有Web應用程序提供SSO。例如:external_user1使用相同的登錄訪問webappA,webappB和webappC。另外,domain \ user1可以訪問所有三個webapps。我們計劃使用WIF和ADFS 2.0。有內部AD用戶和外部用戶的SSO的最佳方法是什麼?

我們不希望所有外部用戶都擁有AD帳戶,所以過去我們可能已經嘗試過使用ADFS 1.x和ADAM的解決方案。但是,我們使用的是Windows Server 2008 R2,ADFS 2.0不能使用AD LDS(ADAM的後繼)來驗證用戶身份。

什麼是SSO方法(使用Microsoft產品)?

+0

是你使用ASP.NET身份驗證提供程序? – Andrew 2011-06-09 21:40:30

回答

5

關鍵問題是您是否可以利用external_user1賬戶存儲。如果可以的話,那麼你只需要在你的ADFS和STS之間增加另一個信任關係,就完成了!這種方法將是理想的,因爲那樣你就不需要再維護external_user1了。本質上這:

enter image description here

如果不能利用療法的用戶帳戶,那麼你仍然可以使用ADFS v1.1和與自己信任:

enter image description here

+0

好的回答.... – 2011-06-10 12:24:19

+0

我們的外部用戶就像公共互聯網用戶一樣,不屬於一個共同的組織,因此沒有共同的帳戶存儲或sts。我們也將受到ADFS 2.0的約束,因爲我們的服務器是2008 R2。同樣,由於AD LDS不能用作ADFS 2.0的IP,所以ADAM已經發布。 – Steve 2011-06-10 18:05:24

+0

接下來的兩個問題是:您可以使用Frode建議的外部身份(例如LiveID,Facebook等)。不在Windows Server 2008上安裝ADFS 1.1?實際上,Windows Server 2008中已經包含ADFS v1.1。 – 2011-06-11 02:12:55

1

除Eugenios回答說,你應該調查微軟Azure ACS。這會讓你聯盟Gooogle,Facebook,雅虎和其他OpenId提供商。

您的身份驗證鏈將是這樣的:

您的應用程序 - > ADFS - > Active Directory的 或 您的應用程序 - > ADFS - > ACS - >谷歌。

在這個網站上搜索ADFS標籤,你會發現很多相關的帖子。

2

難道你不能創建一個自定義的STS,它允許針對ADAM進行身份驗證,並且與ADFS v2.0具有信任關係嗎?

+0

ADAM是否需要STS連接到ADFS?我認爲最新的ADAM設置可以直接連接。 – 2011-06-12 20:03:04

+1

AFAIK,ADFS只能直接使用ADAM(AD LDS)作爲授權的屬性存儲區。無法直接連接到AD LDS進行身份驗證。您需要自定義STS來執行此操作 - 與StarterSTS使用基於ASP角色的SQL DB進行身份驗證的方式相同。 – nzpcmad 2011-06-12 22:23:56

+0

謝謝你清理那個! – 2011-06-14 07:25:40

相關問題