Kyl*_*ien 24 authentication cakephp session-timeout
所以这个问题的关键在于如何防止CakePHP仅在一段时间不活动后对会话进行解除身份验证.
因此,如果用户什么都不做,那么我希望CakePHP在30分钟后将其注销.但是,如果用户选择在第28分钟不活动时访问页面,那么CakePHP应该"重置"它的超时计数器.
目前还没有发生这种情况.无论活动如何,CakePHP在我的核心配置(app/Config/core.php)中的指定时间后超时.
这是我的配置代码:
Configure::write('Session', array(
'defaults' => 'cake',
'timeout' => '30'
));
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
Rob*_*est 27
遇到同样的问题后,我发现这是由Session.cookieTimeout值引起的.虽然php会话仍然有效,但会话cookie上的到期日期不会刷新.
这是我的会话配置
Configure::write('Session', array(
'defaults' => 'php',
'timeout' => 30, // The session will timeout after 30 minutes of inactivity
'cookieTimeout' => 1440, // The session cookie will live for at most 24 hours, this does not effect session timeouts
'checkAgent' => false,
'autoRegenerate' => true, // causes the session expiration time to reset on each page load
));
Run Code Online (Sandbox Code Playgroud)
当timeout值重置每个网页浏览并因此提供您需要的"不活动超时"时,浏览器的会话cookie到期日期保持不变.
因此,如果你在第28分钟+第35分钟刷新,那么Cake会话内部(内部= Cake内部)仍然存活,浏览器最终会在第30分钟后删除会话cookie.
您可以通过重置会话cookie到期日期$this->Session->renew().或者设置autoRegenerate = true和requestCountdown = 1蛋糕将在每个网页浏览中更新.
(但是你必须在每个页面视图上重新生成会话都是愚蠢的.因为没有renew(),这个timeout值永远不会发挥作用,因为无论活动多少,cookie都会在固定的日期到期.像一个bug但我还没有找到解决方法.)
| 归档时间: |
|
| 查看次数: |
19128 次 |
| 最近记录: |