2012-09-24 64 views
1

我有兩個Umbraco安裝在EC2上的同一臺機器上運行。 我希望允許一個網站的用戶使用他們的會員資格在第一個網站上創建帳戶,例如「使用Facebook登錄」。在我的例子中,「用X登錄你的賬戶到Y」。單個登錄兩個Umbraco站點

我目前想到的兩種方法可以做到這一點:

  1. 通過一個共享的數據庫 - 當我從一個網站重定向到一個ASPX另一個,做身份驗證(如果需要),保存所需的數據在共享數據庫中並重定向回第一個站點。它會工作,但我不喜歡它,因爲它看起來很醜!

  2. 創建的環回(10.0.0.127)的Web服務,並用它來發送驗證信息的一種方式,並創建新帳戶回到所需要的信息。

雙方將工作,國際海事組織,但我覺得有可能是這樣做的更多的一把umbraco的方式,或者至少可能更基於標準的方法。

任何想法?

回答

1

我不知道,如果你正在使用的成員或用戶。

如果您使用的會員,您可以安全得到其他會議的電子郵件,您可以通過

Member member = Member.GetMemberFromEmail(<email address>); 
Member.AddMemberToCache(member); 

AddMemberToCache(會員)自動登錄將在服務器端進行登錄並創建成員身份驗證Cookie在客戶端計算機上。

,然後檢查是否登錄與工作:

if (umbraco.library.IsLoggedIn()) 
{ 
... 
} 

如果共享數據庫中的GetMemberFromEmail方法將得到正確的成員,因爲它內部轉到數據庫:

enter image description here

+0

謝謝你的詳細回覆!我在尋找更多的比「什麼時候做什麼」更多的東西。我知道如何認證成員並通過電子郵件獲取成員對象。我可以用我說過的任何方法來實現這一點。此外,機器密鑰是共享的(同一臺機器),因此理論上,我可以從兩個應用程序訪問一個會話(儘管不推薦使用,因爲會話不是線程安全的)。 –