我在會話配置文件中設置了'lifetime' => 10
,但它根本沒有過期。Laravel 4會話在終身限制後不會過期
在該設置的laravel 3中,登錄後,當超過10分鐘的限制時,會話正常到期並且用戶被重定向到再次登錄。
在laravel 4中它不會發生。 10分鐘後,我可以刷新,做任何事情,仍然會議是有效的。
我在同一臺機器上測試了兩個模擬設置......我錯過了什麼?
我在會話配置文件中設置了'lifetime' => 10
,但它根本沒有過期。Laravel 4會話在終身限制後不會過期
在該設置的laravel 3中,登錄後,當超過10分鐘的限制時,會話正常到期並且用戶被重定向到再次登錄。
在laravel 4中它不會發生。 10分鐘後,我可以刷新,做任何事情,仍然會議是有效的。
我在同一臺機器上測試了兩個模擬設置......我錯過了什麼?
我懂了。問題出在配置對lifetime
和expire_on_close
。
如果expire_on_close
設置爲true,則laravel 4將忽略lifetime
。我有:
'lifetime' => 1,
'expire_on_close' => true,
在這種情況下,會話1分鐘後有效 - 它只會在關閉瀏覽器後過期。我將其更改爲:
'lifetime' => 1,
'expire_on_close' => false,
現在會話將在1分鐘後過期。不管瀏覽器是否關閉 - 都足夠接近我想要的。
爲什麼我很困惑,也沒有想通了早期是,意見中有這個問題不清楚,並且在Laravel 3它的工作不同的原因...
這是文檔中的任何地方嗎?真的應該是。我也遇到了同樣的問題,不知道什麼是錯的。我不同意從安全角度出發的邏輯,安全應用程序需要能夠設置即將到期的會話cookie。 – JonoCoetzee
@JonoCoetzee我還沒有在文檔中發現它,只有配置文件中的註釋給了我一些提示 - 總而言之,我花了幾個小時來測試這種行爲並計算出來。我也同意,它應該更好地工作,總是允許過期餅乾 – Tom
今天也面臨同樣的問題,但在我的情況下,我需要支持,會話壽命8小時,並在用戶關閉瀏覽器也被破壞的情況下。也許這個主題的任何信息? – enigmaticus
我不知道什麼是錯的與你的應用程序,但會話'壽命'正在與我合作。如果您的會話'driver'是文件,請確保它具有對'app/storage'文件夾的寫入權限。爲了快速測試,您可以嘗試使用''lifetime'=> 1'而不是10分鐘。 – Khay