2013-04-04 62 views
0

計劃:天青#許多網站 - 一個登錄(單點登錄)

託管在Azure上許多ASP淨4.5網站(將被映射到不同的域) - >

如何將之間共享登錄網站?

選項1:

使用1個數據庫的所有網站 - 如何每個站點的登錄名和哪個網站是「主站點」持有

數據庫?

選項2:

與額外1個全球數據庫中的每個網站的用戶使用的數據庫(+論壇帖子)

方案3:(組合1 + 2?!)

2數據庫, 1,爲用戶的用戶(+論壇帖子)+ 1數據

任一選項,我不知道該怎麼做...

我使用CodeFirst Membership Provider

  • 如果我登錄到站點A就像登錄網站B和ETC(你得到了點)

  • 它是「同一個域」在所有網站坐在天青?

回答

0

使用數據庫有額外1個全球數據庫中的每個網站的用戶

此選項對我來說聽起來不錯。

您可以使用CAS(中央認證服務),這樣您將擁有一箇中心點來認證用戶。 CAS將被配置爲在全局數據庫中進行身份驗證。

**必須配置每個ASP應用程序以使用CAS進行身份驗證。

基本身份驗證流程是:

  1. 用戶試圖訪問特定ASP網站。
  2. ASP站點標識用戶未通過身份驗證並將用戶重定向到CAS(在其他網站中運行)。
  3. 用戶輸入您的登錄名和密碼。
  4. CAS在全局數據庫中檢查登錄名和密碼是否正確。
  5. 如果是,CAS會將用戶重定向到特定的ASP站點(步驟1)。

您將需要安裝Java和Tomcat(或其他Java應用程序服務器)才能運行CAS。正因爲如此,我不知道CAS是否適合您。

http://www.jasig.org/cas

我使用CAS認證針對Active Directory實例。

對不起,我的英語。

+0

我不知道如何制定Azure和CAS ...... – Zakos 2013-04-05 00:24:01

+0

我認爲在CAS中使用Azure的唯一選擇是使用虛擬機計劃(http://www.windowsazure.com/en -us /定價/計算器/?場景=虛擬機)。 – cantoni 2013-04-05 00:39:06

+0

我不喜歡使用Visual Machine,我想簡單,使用發佈我的網站 – Zakos 2013-04-05 00:40:42

2

您需要使用屬於Windows Azure Active Directory的一部分Azure Access Control Service (ACS)

創建一個ACS名稱空間,並通過門戶將所有應用程序URL作爲依賴方添加到此名稱空間中。之後,您需要通過提供ACS服務名稱空間的url來爲每個應用程序添加Visual Studio中的STS引用(在安裝Windows Identity Foundation時出現)。

您將不得不添加您需要進行身份驗證的自定義身份提供程序。例如,在您的方案中,您可以擁有一個數據庫並創建一個使用表單身份驗證進行身份驗證的自定義STS,並且您必須將此服務的URL用作ACS名稱空間中的身份提供程序。您可以選擇添加Windows Live,Google,Yahoo和Facebook等默認身份提供程序,以防萬一您需要。

對於一些具體步驟請參考本link

有也可在MSDN Code Gallery幾個示例代碼。