如何在会话cakephp超时时处理登录

时间:2017-01-06 04:22:52

标签: session cakephp cookies modal-dialog cakephp-2.0

在我的core.php配置中,我已经设置了这样的会话

Configure::write('Session', array(
    'defaults'          => 'php',
    'cookie'            => 'mawar',
    'timeout'           => 1, 
    'autoRegenerate'    => true 
));

并且它也正常工作,但问题是当会话过期时用户需要重新登录,并且在会话超时之前有ajax请求,因为用户没有登录条件所以ajax无法正常工作并显示错误403 - 禁止

我的问题是如何为用户提供更好的解决方案,以便用户能够继续输入已输入的表单数据

会话过期时是否提供简单的模式表单登录?或者你有更好的解决方案

现在我已经尝试使用此代码在app控制器中条件会话已过期时读取

if($this->Auth->user('id')) {// if the user has been logged out because the session has time out
 if ($this->request->isAjax()){ // and if the request ajax
            // here I want to open modal / simple form login
        }
}

我被卡住了,我很高兴你的回复

提前致谢

1 个答案:

答案 0 :(得分:0)

解决问题的一个好方法是自己设置会话到期时间,或者记住我"特征。

您可以根据需要设置会话到期时间。检查this

创造一个"记住我"登录功能对您的程序也很有用,因为它会将用户凭据存储在浏览器cookie中,用户将根据需要登录。您可以查看this以获取"记住我"的信息。