2012-09-18 68 views
0

我心中已經有這個設置當前正在運行,其中一個網站在與後端在admin.site.domain.tld beeing刪除子域餅乾

一個有點SSOish系統site.domain.tld運行的是安裝在sso.admin.site.domain.tld。實際上,當訪問這個站點時,用戶被認證,相應的cookie被設置並且用戶被移回到admin.site.domain.tld。

當我設置這樣的

setcookie('bid', $bid, 0, '/', 'admin.site.domain.tld'); 

一個cookie我會得到爲.admin.site.domain.tld發行(注意點)一個cookie的cookie。

這樣的登錄工作正常,但如果用戶要出於任何原因首先admin.site.domain.tld,然後決定來登錄使用SSO [...],我們有一個問題:adminpage設置自己的cookie - 但這次它是爲admin.site.domain.tld頒發的 - 在開頭沒有點。

所以基本上使用SSO登錄在此時間後,用戶具有用於.admin.site.domain.tld

因爲兩個不同的Cookie,一個用於admin.site.domain.tld,一個結束管理員頁面更喜歡直接爲頁面本身設置的cookie,點cookie會被忽略,登錄失敗。

所以基本上最好的辦法是閱讀,修改或者直接刪除已有的cookiebut這似乎從SSO-子域是不可能的。

「由於原因」,我們是不是可以直接將我們的東西從SSO-子域的管理員子域。

這裏有人有一個想法,我可以做某種方式擺脫那些「壞」 admin.餅乾嗎?

回答

0

只能使用不同的cookie名稱嗎?您有一個讀取和寫入「cookie1」的子域,然後是另一個讀取和寫入「cookie2」的子域。這能解決你的問題嗎?

+0

不幸的是,這並不能解決我的問題......因爲我們無法更改admin上的代碼中的任何內容,所以我們無法實現對cookie2的檢查。但是,謝謝你的嘗試! – Martin

+0

好吧,這是一個無賴,你可以得到另一個域名和別名您的網站嗎?所有的代碼和後端的東西都是一樣的,但瀏覽器認爲它是一個全新的領域。 – Landon

+0

好吧,我們實際上做了一些新的東西,與您的建議非常相似:我們安裝了一個「htaccess-Proxy」,它將所有請求轉發到實際站點,並允許我們加載SSO腳本。所以我們現在可以放置,刪除和覆蓋這個特定子域的cookie。奇蹟般有效 :) – Martin