¿Cómo soluciono problemas de una aplicación CakePHP atascada en un bucle de redireccionamiento?
Pregunta
Tengo un sitio CakePHP que está atascado en un bucle de redireccionamiento.Eliminé cada fragmento de código que realiza una redirección y desactivé la redirección automática en el objeto de autenticación.
Esto ocurrió cuando salí del sitio y persistió incluso después de eliminar todas las cookies e intentar cargar la página de inicio.La acción de índice está en $this->Auth->allow
.
No debería, sigue intentando redirigirme a /users/login, que luego redirige los bucles.La acción de inicio de sesión también está en la lista permitida.
¿Alguien tiene alguna idea de qué podría causar esto?
Solución
Su <cake>/app/app_controller
debe tener un método beforeFilter()
con todos los comportamientos del componente Auth . Uno de esos comportamientos es dónde enviar cuando un usuario no está conectado.
estarás buscando algo como:
// 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';
G'luck
Otros consejos
Esto también ocurre en CakePHP 1.3 si agrega un componente personalizado que extiende Componente en lugar de Objeto .
oye, a veces, si la conexión de db es incorrecta ,,, la aplicación intentará conectarse a mysql y estará en bucle. Por lo tanto, mire siempre si la configuración de la base de datos es correcta.
adiós.
Tuve exactamente el mismo problema y cuando reinicié el servicio mySql, la redirección se detuvo.Así que agregue esto a su lista de cosas para verificar.
Bueno, parece que hay una serie de razones por las cuales esto podría suceder en mi caso al que intentaba acceder
cakeapplication / users / add
y resultó que me faltaba
'add'=>'*',
en la matriz de permisos en usersController.php
Recientemente tuve este problema y no sé por qué, pero se solucionó cuando cambié (en mi método AppController beforeFilter ()):
$this->Auth->allow('*');
a
$this->Auth->allow();
Por supuesto, en mis controladores posteriores niego las acciones apropiadas.