2012-02-15 24 views
0

私は自分のアプリケーションでACLとAuthを使用しています。CakePHP 1.3:ログイン時にリダイレクト

ログアウトしたユーザが内部のブックマーク付きページを(自宅以外の)サイトにロードすると、Cakeは正しくログインするように求めます。ただし、ログインすると、ログインする前にユーザーがアクセスしようとしていたURLにリダイレクトされます。

アクセスしようとしていたURLに関係なく、ログイン後にユーザーをページ/ homeにリダイレクトする必要があります。

これまでのところ、これを達成するために$ this-> Authコマンドが見つかりませんでした。何か案は?ここで

任意の考え

答えて

1

ためのおかげで、あなたのbeforeFilter関数の中で次のものが含まれていることを確認しますapp_controller.phpで

function beforeFilter() { 
    //Configure AuthComponent 
    //$this->Auth->allow(array('*')); 
    $this->Auth->loginAction = array('controller' => 'users', 'action' => 'login'); 
    $this->Auth->logoutRedirect = array('controller' => 'users', 'action' => 'login'); 
    $this->Auth->loginRedirect = array('controller' => 'pages', 'action' => 'home'); 
    $this->Auth->actionPath = 'controllers/'; 

から認証コードです:

function beforeFilter() { 
    $this->Auth->autoRedirect = false; 
    parent::beforeFilter(); 
} 

がまたあることを確認してくださいあなたのログイン機能にこのようなものはありません:

$this->redirect($this->Auth->redirect()); 

Auth-> redirect()は、ユーザーがログインページに移動する前にユーザーが着陸したURL、またはAuth-> loginRedirectを返します。

ログイン機能の$this->redirectを使用するか、デフォルトのログインリダイレクトを設定することで、どこにでもリダイレクトすることができます。

+0

これはトリックを行ったようです!ありがとう! –

関連する問題