¿Cómo soluciono problemas de una aplicación CakePHP atascada en un bucle de redireccionamiento?

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

  •  03-07-2019
  •  | 
  •  

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?

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top