所以这个问题的关键在于如何防止CakePHP仅在一段时间不活动后对会话进行解除身份验证.
因此,如果用户什么都不做,那么我希望CakePHP在30分钟后将其注销.但是,如果用户选择在第28分钟不活动时访问页面,那么CakePHP应该"重置"它的超时计数器.
目前还没有发生这种情况.无论活动如何,CakePHP在我的核心配置(app/Config/core.php)中的指定时间后超时.
这是我的配置代码:
Configure::write('Session', array(
'defaults' => 'cake',
'timeout' => '30'
));
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
我正在尝试使用 AJAX 自动完成我网站上的搜索框。我正在使用 firebug 来测试我的应用程序。当我尝试搜索某些内容时,Firebug 告诉我 AJAX 请求返回了 403 禁止错误。但是,当我复制 AJAX 请求中的 EXACT URL 时,它返回正确的数据。
编辑:我认为这必须是 JavaScript 方面的东西。与普通请求相比,AJAX 请求中是否有任何标头可能会被省略?
这是失败 (1) 与输入 URL 的 AJAX 请求上的 $_SERVER 变量(我删除了两个请求中相同的参数),它可以工作(2):
(1)
2011-04-02 13:43:07 Debug: Array
(
[HTTP_ACCEPT] => */*
[HTTP_COOKIE] => CAKEPHP=0f9d8dc4cd49e5ca0f1a25dbd6635bac;
[HTTP_X_REQUESTED_WITH] => XMLHttpRequest
[REDIRECT_REDIRECT_UNIQUE_ID] => TZdgK654EmIAAEjknsMAAAFG
[REDIRECT_UNIQUE_ID] => TZdgK654EmIAAEjknsMAAAFG
[REMOTE_PORT] => 60252
[UNIQUE_ID] => TZdgK654EmIAAEjknsMAAAFG
[REQUEST_TIME] => 1301766187
)
Run Code Online (Sandbox Code Playgroud)
(2)
2011-04-02 13:44:02 Debug: Array
(
[HTTP_ACCEPT] => text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
[HTTP_COOKIE] => CAKEPHP=d8b392a5c3ee8dd948cee656240fd5ea;
[REDIRECT_REDIRECT_UNIQUE_ID] => TZdgYq54EmIAAF7zt6wAAAJJ
[REDIRECT_UNIQUE_ID] => TZdgYq54EmIAAF7zt6wAAAJJ
[REMOTE_PORT] => 60281 …Run Code Online (Sandbox Code Playgroud)