我正在嘗試在流程上創建單一登錄。我已經實現的方法使用將會話數據存儲在數據庫中。PHP單點登錄(SSO)生成新會話ID
當新用戶訪問網站(www.example2.com)時,會檢查認證表。由於這是他們第一次訪問該網站,因此不會有任何匹配。
瀏覽器被重定向到認證服務器www.example1.com/authenticate.php?session_id=ABC123其中ABC123表示在www.example2.com上創建的會話ID。隨後在www.example1.com上生成的會話ID將使用URL中設置的參數存儲在會話ID旁邊。
然後用戶被重定向回www.example2.com並找到會話id的匹配。
這個在FireFox中工作正常,但是當我在Chrome中嘗試時,我注意到瀏覽器被重定向回www.example2.com時生成的會話標識是一個新的會話標識。結果創建了一個無限循環。這種行爲在FireFox中也沒有表現出來。
什麼是導致生成新的會話ID?更重要的是,我能做些什麼來阻止它?
提前致謝!
編輯
我有一個邏輯錯誤導致無限循環。這現在在FireFox中再次正常工作,但Chrome和Internet Explorer仍然出現無限循環。
你是如何解決這個問題的?我遇到了與Chrome和會話ID相同的問題。 – Lancelot 2011-05-05 18:41:11
是的,如果你會分享你的解決方案 – soupdiver 2012-04-24 15:10:44