2016-12-09 16 views
0

私は以下のようにログイン機能を使用しています。毎回私は私が定義されている住所がインデックスに転送されますログインしているユーザーが必要ですリンクから来るので -CakePHPログインリダイレクトadmin/user

public function login() 
{ 

    if ($this->request->is('post')) { 
     $user = $this->Auth->identify(); 
     if ($user) { 
      if ($user['warning'] == false) { 
       $this->Auth->setUser($user); 
       if ($this->Auth->user('role') == 'admin') { 
        if(isset($this->Auth->redirectUrl)){ 
         return $this->redirect($this->Auth->redirectUrl()); 
        } 
        else return $this->redirect(['controller' => 'adresses','action' => 'adminindex']); 


       } elseif ($this->Auth->user('role') == 'user') { 
        if(isset($this->Auth->redirectUrl)){ 
         return $this->redirect($this->Auth->redirectUrl()); 
        } 
        else return $this->redirect(['controller' => 'adresses','action' => 'index']); 
       } 
      } 
      else{ 
       $this->Flash->error(__('XXXX')); 
       return $this->redirect(['action' => 'login']); 
      } 
     } 
     $this->Flash->error(__('XXXXX')); 
    } 
} 

私が今持っている問題は、私はredirectURLを読み出すように見えるということですcan't私のAppControllerで。しかし、私はadminindexにリダイレクトする必要があります。

adminとuserのフォールバックを切り替えることはできますか。または、誰かがredirectUrlが設定されているかどうかを確認する方法を知っていますか?

答えて

3

redirectUrlは変数ではないので、issetの小括弧に小括弧を追加する必要があると思います。

if (isset($this->Auth->redirectUrl())) 
関連する問題