Как мне устранить неполадки в приложении CakePHP, застрявшем в цикле перенаправления?

StackOverflow https://stackoverflow.com/questions/810390

  •  03-07-2019
  •  | 
  •  

Вопрос

У меня есть сайт CakePHP, который застрял в цикле перенаправления.Я удалил каждый фрагмент кода, который выполняет перенаправление, и я отключил автоматическую перенаправление для объекта Auth.

Это произошло, когда я вышел из системы с сайта, и сохранялось даже после удаления всех файлов cookie и простой попытки загрузить домашнюю страницу.Действие индекса находится в $this->Auth->allow.

Я не должен, он продолжает пытаться перенаправить меня на /users/login, который затем перенаправляет циклы.Действие входа в систему также находится в списке разрешенных

У кого-нибудь есть какие-нибудь идеи, что могло вызвать это?

Это было полезно?

Решение

Ваш <cake>/app/app_controller должен иметь beforeFilter() метод со всеми параметрами поведения Автор компонент.Одним из таких способов поведения является направление отправки, когда пользователь не вошел в систему.

вы будете искать что-то вроде:

// If cake should redirect automatically or you will do it in the User.login()
$this->Auth->autoRedirect = true; 
// And if the autoRedirect is true, where to redirect
$this->Auth->loginRedirect = '/user/login';

Г'лак

Другие советы

Это также происходит в CakePHP 1.3, если вы добавляете пользовательский компонент, который расширяет Компонент вместо того, чтобы Объект.

эй, иногда, если у вас неправильное подключение к БД,,, приложение будет пытаться подключиться к mysql и будет находиться в цикле.Итак, всегда смотрите, правильна ли конфигурация базы данных.

до свидания.

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

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

приложение cakeapplication/пользователи/добавить

и тут выяснилось, что я пропал без вести

'add'=>'*',

в массиве разрешений в usersController.php

Недавно у меня была эта проблема, и я не знаю почему, но она была исправлена, когда я изменил (в моем методе AppController beforeFilter()):

$this->Auth->allow('*');

Для

$this->Auth->allow();

Конечно, тогда в моих последующих контроллерах я отрицаю соответствующие действия.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top