我們公司有多個域名,每個域名託管一個網站。目前,每個域都有自己的認證,這是通過cookie完成的。單一登錄跨多個域
當某人登錄到一個域需要訪問另一個域中的任何內容時,用戶需要使用位於另一個域上的另一個網站上的不同憑據再次登錄。
我正在考慮走向單點登錄(SSO),這樣可以消除這種麻煩。對於如何實現這一目標,我將不勝感激,因爲我在這方面沒有任何經驗。
謝謝。
編輯: 該網站是互聯網(外部)和內網(內部使用的公司內)網站的組合。
我們公司有多個域名,每個域名託管一個網站。目前,每個域都有自己的認證,這是通過cookie完成的。單一登錄跨多個域
當某人登錄到一個域需要訪問另一個域中的任何內容時,用戶需要使用位於另一個域上的另一個網站上的不同憑據再次登錄。
我正在考慮走向單點登錄(SSO),這樣可以消除這種麻煩。對於如何實現這一目標,我將不勝感激,因爲我在這方面沒有任何經驗。
謝謝。
編輯: 該網站是互聯網(外部)和內網(內部使用的公司內)網站的組合。
如果您使用Active Directory,您可以讓每個應用程序使用AD進行身份驗證,那麼登錄可以是無縫的。否則,如果應用程序可以在幕後與對方進行對話,則可以使用sessionids並使用一個應用程序處理ID生成來爲所有其他應用程序提供服務。
是不是用戶仍然需要在domain1.com和domain2.com以及domain3.com上輸入用戶名和密碼,當他第一次登陸這些網站進行本次會話時? – HaBo 2015-04-15 21:39:23
主機名稱有何不同?
這些主機可以共享餅乾:
但這些不能:
在可以爆炸了一個基於cookie的解決方案在前一種情況下。認爲GUID和數據庫會話表。
的SSO解決方案,我在這裏實現的工作原理如下:
注:
這看起來像一個很好的解決方案。你在數據庫中存儲什麼?是(session_id,用戶名,hashed_password)? – 2010-03-23 11:41:05
你如何處理主域名login.mydomain.com出現故障的情況?登錄不可能在那一點上? – jjxtra 2011-03-08 00:46:58
不要重新發明車輪。有許多開源的跨域SSO軟件包,如JOSSO,OpenSSO,CAS,Shibboleth等。如果您始終使用Microsoft技術(IIS,AD),則可以使用Microsoft聯合身份驗證(ADFS)。
這聽起來像是[OpenID](http://openid.net/)的工作 - 但僅允許來自登錄域的ID。 – Neall 2008-09-04 19:11:02