Cakephp проблема с перенаправлением входа - PullRequest
0 голосов
/ 02 ноября 2011

Я новичок в cakePHP. Я пытаюсь создать страницу входа. Мне удалось создать страницу входа. У меня проблема с перенаправлением входа в систему. Когда я отправляю учетные данные для входа в систему, я буду перенаправлен на страницу, на которой содержится следующий текст.

Сладкий, "App" был испечен CakePHP! Ваш каталог tmp доступен для записи. FileEngine используется для кэширования. Для изменения конфигурации отредактируйте APP / config / core.php Ваш файл конфигурации базы данных присутствует. Cake может подключиться к базе данных.

Но это не правильно. В моем app_controller я написал код для перенаправления на другую страницу, как указано ниже:

function beforeFilter() {
    //Configure AuthComponent
    $this->Auth->authorize = 'actions';
    $this->Auth->actionPath = 'controllers/';
    $this->Auth->loginAction = array('controller' => 'users', 'action' => 'login');
    $this->Auth->loginRedirect = array('controller' => 'patients', 'action' => 'index');
    $this->Auth->logoutRedirect = array('controller' => 'users', 'action' => 'login');
}

Что мне нужно сделать, чтобы перенаправить на / пациентов / индекс?

С уважением, Balu

Ответы [ 2 ]

0 голосов
/ 03 ноября 2011

в config-> rout.php измените вашу первую строку на эту ....

Router::connect('/', array('controller' => 'patients', 'action' => 'index'));

api55 прав, но я вижу ваше разочарование, так что это должно быть мгновенным удовлетворением для вас.

0 голосов
/ 02 ноября 2011

Я собираюсь сначала процитировать часть книги о торте:

loginRedirect

AuthComponent запоминает, какой парой контроллер / действие вы были пытаясь добраться до того, как вас попросили подтвердить сохраняя это значение в сеансе, под ключом Auth.redirect. Однако, если это значение сеанса не установлено (если вы страница входа с внешней ссылки, например), то пользователь будет перенаправляется на URL, указанный в loginRedirect.

Сказав это, вы можете увидеть, что если вы пришли со страницы внутри вашей программы, она пойдет туда потом.

Что вы можете сделать, вы можете сказать компоненту authComponent не выполнять автоматическое перенаправление, и вы управляете этой частью, как? как это:

1) в beforeFilter напишите это

$this->Auth->autoRedirect = false;

2) в действии входа в систему в вашем контроллере что-то вроде

if ($this->Auth->user()) {
   $this->redirect('url');
}

url может быть абсолютным или массив тортов, вы можете посмотреть его в книге, этот код будет выполняться только после того, как проверка логина завершена ... вы также можете делать любые другие вещи, которые вам понадобятся, например, последняя попытка успеха или что-то в этом роде

надеюсь, что это работает для вас :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...