CakePHP 1.3: перенаправление при входе в систему - PullRequest
0 голосов
/ 15 февраля 2012

Я использую ACL и Auth в своем приложении.

Если вышедший из системы пользователь загружает на сайт внутреннюю страницу с закладками (кроме домашней), Cake корректно запрашивает вход в систему. Однако после входа в систему он перенаправляет на URL-адрес, к которому пользователь пытался обратиться до входа в систему.

Мне нужно, чтобы после входа в систему пользователь перенаправлялся на pages / home независимо от URL, к которому он пытался получить доступ.

Пока что я не нашел этой команды $ this-> Auth, чтобы выполнить это. Есть идеи?

Вот код авторизации из 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/';

Спасибо за любые мысли

1 Ответ

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

Убедитесь, что в функцию beforeFilter включено следующее:

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

Также убедитесь, что в вашей функции входа в систему нет ничего подобного:

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

Auth-> redirect () возвращает URL-адрес, по которому пользователь приземлился до перехода на страницу входа, или Auth-> loginRedirect.

Вы сможете перенаправить туда, куда хотите, либо с помощью $this->redirect в функции входа в систему, либо установив перенаправление входа по умолчанию.

...