2008-09-19 39 views
2

我想知道在網站中進行單點登錄的最佳技術是什麼。這意味着如果您進入多個網站,您將以「透明」方式進行身份驗證。我使用php + curl來爲不同的網站設置cookie,但我真的很想知道是否存在一個標準的方法來做到這一點。網頁中的SSO

回答

7

對於需要使用標準的安全方式:

  • 認證服務器
  • 的需要SSO的每個站點上的身份驗證過濾器

該機制有點複雜,它涉及http重定向和安全身份驗證ti打成小包。您將在CAS website(一個流行的java SSO服務器)上找到詳細的解釋。
我建議閱讀本頁面「CAS Java Client Gateway Example」,特別是頁面底部的順序圖。

-2

最好的方法是使用從您的外部網站拉出圖像流的圖像標籤。

所以,如果你在www.some-site.com,你想也可以登錄到www.some-partner-site.com你這顯示在登錄後:

因爲你」重新使用Image會強制瀏覽器「拉入」該URL的內容。

我最近建立了一個解決方案,它使用ASP.NET,但我們也有一個基於php的合作伙伴網站。

顯示什麼樣的形象是irrelivant,你真的不應該顯示在所有的任何圖像(因此1x1大小的空間)

+0

這並不解決用戶的問題。這僅僅是一種「技巧」,用於「暗示」用戶在兩個站點獨立並單獨授權。然而,這是一個冒險的政策,因爲圖像通常不像許多webapps中的頁面那樣受到保護。此外,用戶可以阻止圖像並免費使用該網站。 – Cheekysoft 2008-09-19 08:30:52

+0

感謝您的反饋,我沒有想到當他們禁用圖像時會發生什麼。 但我確實發現圖片是在合作伙伴網站上啓動上下文的好方法。 – 2008-09-19 11:41:50

+0

如果我沒有弄錯,那麼wikimedia將其SSO用於所有wiki *站點的過程都是這樣。 – 2009-09-13 08:26:35

-1

你也可以看看OpenId。這與用於登錄到stackoverflow的機制相同,並具有「全局」單一登錄功能。

我相信有php庫可以與它集成。

你也可以看看this question