문제

I just started trying to learn cakephp auth, i just copied and pasted the code, trying to understand it. I can't figure out what is directly the redirect

//app controller //is empty i know in some cases you put it here, i'm just tested it in the user controller

//user controller

public $components = array('Paginator',
 'Session', 
 'Auth' => array(
        'loginAction' => array(
            'controller' => 'users',
            'action' => 'login',
            'plugin' => 'users'
        ),
        'authError' => 'Did you really think you are allowed to see that?',
        'authenticate' => array(
            'Form' => array(
                'fields' => array('username' => 'email')
            )
        )
    )

);


 public function beforeFilter() {
       $this->Auth->allow('index', 'view');
}

public function login() {
    if ($this->request->is('post')) {
        if ($this->Auth->login()) {
            return $this->redirect($this->Auth->redirectUrl());
            // Prior to 2.3 use
            // `return $this->redirect($this->Auth->redirect());`
        } else {
            $this->Session->setFlash(
                __('Username or password is incorrect'),
                'default',
                array(),
                'auth'
            );
        }
    }
}

I understand the before filter makes sense, it only allows index and view, i have another controller called admin which redirects to the login page if your not logged in

but for somme reason it keeps redirecting to users/users/login, i want it to go to users/login? How do i fix this?

도움이 되었습니까?

해결책

you just have to put the controller wherever you go and the action

  public function login() {  
            if ($this->request->is('post')) {
                if ($this->Auth->login()) { 
                  return $this->redirect(array('controller' => 'users', 'action' => 'login'));
                }
            } else {
                    $this->Session->setFlash(__('Invalido nombre de usuario o contraseña'));
            }
     } 
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top