会话到期后Cakephp重定向

时间:2010-07-27 14:31:31

标签: php cakephp session-timeout

我在一个网站上使用CakePHP,我想知道如何在会话过期时自动重定向?

2 个答案:

答案 0 :(得分:9)

会话到期等同于用户退出您的应用。您可以设置变量

$this->Auth->logoutRedirect = array('component'=>'YourComponent','action'=>'YourAction');

这将取得类似的结果。您希望在AppController的beforeFilter()中设置它。

如果要在会话到期的第二个时间内重定向用户,则需要滚动一些自定义javascript才能实现此效果。您可以从确定会话到期之前的大致秒数开始,将其传递给javascript setTimeout()调用并触发强制用户注销的函数。这种方法有一些注意事项,但它也可以正常工作。

答案 1 :(得分:0)

使用您的组件($ components),您可以选择登录细节和lougout,例如会话结束时的重定向页面。

public $components = array(
    'Session'=>array(
        'timeout' => 620
    ),'Auth' => array(
        'loginRedirect' => array(
            'controller' => 'pages',
            'action' => 'display',
            'home'
        ),
        'logoutRedirect' => array(
            'controller' => 'users',
            'action' => 'login'
        ),
        'authenticate' => array(
            'Form' => array(
                'passwordHasher' => 'Blowfish'
            )
        )
    )
);