我使用的是Symfony2,我想在關閉瀏覽器後註銷用戶。關閉瀏覽器後清除緩存 - symfony2
我已經將config.yml中的cookie_lifetime更改爲0,但仍然無法正常工作。
的理念是:
- 如果用戶不使用記得我,我想問問他的情況下登錄的他關閉瀏覽器,然後重新打開。
我使用的是Symfony2,我想在關閉瀏覽器後註銷用戶。關閉瀏覽器後清除緩存 - symfony2
我已經將config.yml中的cookie_lifetime更改爲0,但仍然無法正常工作。
的理念是:
我假設您使用的是Chrome瀏覽器。 Chrome瀏覽器在清除此類cookies方面存在問題(請參閱discussion)
其他瀏覽器(FF,Safari)可正常工作,並在瀏覽器關閉時刪除cookie,請自行嘗試。
我發現沒有真正可靠的方法來檢查瀏覽器窗口/選項卡是否已關閉,即使您使用cookie的生命期爲0,這是由於某些瀏覽器處理Cookie的方式。
然而,另一個 - 顯然不總是可靠的方法來檢查窗口/標籤是否關閉使用JavaScript的卸載事件。
兩者的組合應該會給你最好的結果。
範例 - 香草JavaScript的:
window.onbeforeunload = function(){
// send ajax request to invalidate the session
};
...或...
window.unload = function(){
// send ajax request to invalidate the session
};
示例 - jQuery的:
$(window).bind('beforeunload', function(){
// send ajax request to invalidate the session
});
...或...
$(window).unload(function(){
// send ajax request to invalidate the session
});
更多信息可在this question中找到。
你的配置看起來不錯。您在更改配置後是否清除了symfony緩存? – Ramesh
我認爲這不是緩存問題。這是因爲php會保存會話,所以您必須清除會話,而不是symfony緩存。 –
您在更改後是否清除了您的**瀏覽器cookie **? – nifr