Cakephp 2.0 Auth не перенаправляет пользователей / логин - PullRequest
0 голосов
/ 22 февраля 2012

У меня есть некоторый код в AppControler :: beforeFilter ()

$this->Auth->authorize      = array('Actions' => array('actionPath' => 'controllers'));
$this->Auth->loginAction    = array('controller' => 'users', 'action' => 'login');
$this->Auth->logoutRedirect = array('controller' => 'users', 'action' => 'login');

Но Auth не перенаправляет меня на пользователей / логин, когда я пытаюсь загрузить непубличное действие в браузер.Вместо этого он перенаправляет меня на «/».Что я делаю не так?

1 Ответ

1 голос
/ 22 февраля 2012

Вероятно, это потому, что вы не предоставили разрешения на действие Login в контроллере пользователей. Добавьте это в верхнюю часть контроллера пользователя:

function beforeFilter(){
   parent::beforeFilter();
   $this->Auth->allow('login');
}

Как примечание, по умолчанию loginAction уже имеет значение / users / login. То же самое касается logoutRedirect. Попробуйте удалить оба, поскольку они на самом деле не нужны, поскольку вы уже хотите, чтобы они переместились в местоположение по умолчанию.

UPDATE

Вы включили компонент в верхней части AppController?

public $components = array('Auth');

Еще одно подтверждение: вы еще не вошли в систему. Если вы уже вошли в систему, но не выполнили разрешение на конкретное действие в контроллере для вошедших в систему пользователей, он также может перенаправить.

...