instalar - cakephp vs laravel
¿Cómo obtengo loginRedirect desde múltiples ubicaciones de inicio de sesión en CakePHP? (3)
Estoy intentando que la autenticación funcione a mi gusto en una aplicación de CakePHP y se encuentre con un problema.
Quiero permitir que el usuario inicie sesión desde la página de inicio o desde una página de inicio de sesión dedicada. Estoy usando el componente Auth para administrar el inicio de sesión y ahora el inicio de sesión funciona. Estoy enviando el formulario en la página de inicio a / Usuarios / Iniciar sesión y se registra y crea una sesión. El problema es que luego redirecciona al usuario a la página de inicio. Prefiero que redireccionen a la ubicación especificada en loginRedirect.
Si inicio sesión desde / users / login directamente, lo reenvío a loginRedirect. Creo que el problema tiene que ver con la publicación del formulario de una página a otra en lugar de hacerlo a sí mismo, auth automáticamente piensa que quiere volver a la página anterior.
¿Alguna idea?
Sí auth tiene una función en la que lo redirigirá a la página a la que intentó acceder antes de iniciar sesión. Si configurar la redirección de acceso no funcionó, puede intentar establecer loginRedirect en falso y hacer un manual ($ this-> redirect ( [..]) en la acción UsersController :: login.
puede desactivar $ autoRedirect configurándolo en falso y manejando el redireccionamiento usted mismo. El problema con AuthComponent es que hay demasiada automagia que no puedes controlar realmente, o solo por hacks.
Una solución para su problema es eliminar la clave Session.Auth.redirect, por lo que AuthComponent siempre usará la URL $ loginRedirect:
$this->Session->del(''Auth.redirect'');
en el AppController
public function beforeFilter( )
{
$this->Auth->autoRedirect = false;
}
en UsersController
public function login( )
{
if( $this->Auth->user( ) )
{
$this->redirect( array(
''controller'' => ''users'' ,
''action'' => ''index'' ,
));
}
}
Además, si aún no lo hizo, debe mover el formulario a un elemento, de modo que pueda estar absolutamente seguro de que el formulario de inicio de sesión es idéntico entre las 2 vistas de inicio de sesión.