Agregar variable en logueo en Yii::$app->user->identity

Buenas noches, estoy usando la plantilla básica de YII e hice unas cuantas modificaciones para soportar el logue desde la base de datos.

Ahora el problema que tengo es que no se donde y como debo agregar variables para cuando el usuario se loguee y que estén disponibles durante todo el sistema.

En YII 1 era setstate, sin embargo entiendo que en YII2 esto lo quitaron para evitar confusiones.

Pensé en usar variables de session, pero esto no me sirve porque cuando se hace autologin las variables no estarían disponibles.

¿Alguna sugerencia?

Buenas.

Y en Yii 1 usabas setState para el autologin?!?!?!

Esas variables si no lo entiendo mal se destruyen en el momento de cerrar la sesión en el navegador.

El autologin creo que se hace por medio de cookies, por lo que no entiendo que tiene que ver la sesión con el autologin.

Además, cuando se hace autologin qué variables quieres que estean llenas si estás iniciando una sesión nueva. En todo caso guardar cookies con esos valores que desees y

setearlas en el proceso de logueo.

Un saludo.

Hola Lagogz, me parece que si las usabas pero la memoria me falla en cuanto si se destruían o no. Verás lo que deseo hacer es que cuando el usuario haga login con autologin setear una variables del detalle del perfil de un usuario que está en una tabla diferente a la de usuarios (y deben estar disponibles en todo el sistema)

Respecto a tu respuesta me puedes ayudar con lo siguiente por favor:

Donde puedo declarar variables de session, para que una vez se haga el autologin se seteen automaticmaente pero que no se seteen en cada llamada. Actualmente estoy haciendolo en findIdentity($id) dentro del modelo user que extiende de IdentityInterface

Pero esta función se ejecuta cada vez que se carga cualquier controlador. ¿hay alguna parte donde lo pueda setear y que solo pase una vez?

:S :S no se si me haga entender. basicamente lo que quiero es extraer el detalle del perfil de un usuario una sola vez cuando hace login (sin importar que sea a través de autologin)

Saludos,

Igual es tarde mi respuesta pero bueno…

Hagas autologin o login manual, tendrás que utilizar alguna acción de login. Pues ahí es donde yo las pondría, ya que el login sólo lo haces una vez por sesión.

Un saludo.