1

あるWebサイトでCakePHPを使用していますが、セッションの有効期限が切れたときに、どうすれば自動的にリダイレクトできるのでしょうか。

4

2 に答える 2

9

セッションの有効期限は、ユーザーがアプリからログアウトするのと同じです。変数を設定できます

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

これにより、同様の結果が得られます。AppControllerのbeforeFilter()でこれを設定します。

セッションが期限切れになるとすぐにユーザーをリダイレクトする場合は、この効果を実現するためにカスタムJavaScriptをロールする必要があります。セッションが期限切れになるまでのおおよその秒数を決定し、それをjavascript setTimeout()呼び出しに渡して、ユーザーに強制的にログアウトさせる関数を起動することから始めることができます。このアプローチにはいくつかの注意点がありますが、同様に機能します。

于 2010-07-27T14:56:26.163 に答える
0

コンポーネント($ components)を使用して、ログインの詳細を選択し、セッション終了時のリダイレクトページなどの情報も選択します。

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'
            )
        )
    )
);
于 2015-04-20T13:09:39.367 に答える