tutorial instalar español como php cakephp

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.