2012-04-02 17 views
2

URLを介して渡されたパラメータに基づいてログインアクションで異なる文を実行したいと思っています。 AppControllerで私はこのようなコードました:ログインアクションにパラメータを渡すにはどうすればよいですか?

function beforeFilter() { 
    if(isset($this->passedArgs['type']) && ($this->passedArgs['type'] == 1)) { 
     $this->Auth->loginAction = array('controller' => 'users', 'action' => 'login', 'type' => 1); 
    } elseif(isset($this->passedArgs['type']) && ($this->passedArgs['type'] == 2)) { 
     $this->Auth->loginAction = array('controller' => 'users', 'action' => 'login', 'type' => 2); 
    } else { 
     $this->Auth->loginAction = array('controller' => 'users', 'action' => 'login', 'type' => 1); 
    } 
    $this->Auth->loginRedirect = array('controller' => 'customers', 'action' => 'index'); 
    $this->Auth->logoutRedirect = array('controller' => 'users', 'action' => 'login'); 
} 

をしかし、私はパラメータを渡すとき、私はのvar_dump(の$ this - >データ)としてログインすることができませんでしだ空の配列です。パラメータを削除するとうまく動作します。これがアクションにパラメータを渡す正しい方法であるかどうか、誰かに教えてください。

答えて

0

あなたはlogin()アクションの内部でそれを処理する必要があります。ユーザーはあなたが探しているものは何でものために渡された引数をチェックし、それに基づいてリダイレクト正常にログインした場合、ログインアクションの例

このhttps://github.com/CakeDC/users/blob/2.0/Controller/UsersController.php#L336

を参照してください。

+0

お返事ありがとうございます。私の問題は、URLを介して引数を渡すと、$ this->データが空になり、ログインできなくなることです。 – Balu

関連する問題