GeneXus - Variables de inicio de sesion

 
Vista:

Variables de inicio de sesion

Publicado por Arlex Franco (101 intervenciones) el 31/05/2011 19:14:04
Gx 9.0, mySQL, .NET en WEB

Quisiera saber si es posible incluir al momento de logiarse al sitio una variable que contenga el tipo de usuario y que sea global, para que dependiendo el tipo de usuario asi sea el nivel de acceso, pro ejemplo quiero que algunos botones aparezcan enabled = 0 si es user de consulta y enabled = 1 si es administrador, se puede hacer esto? he leido por ahi de las variables de session pero no se que son exactamente
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 17
Ha mantenido su posición en GeneXus (en relación al último mes)
Gráfica de GeneXus

Variables de inicio de sesion

Publicado por Julio (305 intervenciones) el 01/06/2011 18:50:03
Hola Arlex, podrías hacer uso de una cookie, en esta se almacena lo que quieras, cada vez que cargues una página lees la cookie y luego procedes según el contenido.
Otra alternativa sería invocar a un procedimiento que enviándole el UsrId te devuelva el tipo de usuario, este procedimiento sería llamado en el evento start de cada página en donde lo necesites.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Variables de inicio de sesion

Publicado por Arlex Franco (101 intervenciones) el 01/06/2011 21:23:34
veamos si entendi, tengo un procedure llamado ProcUsuT por ejemplo donde le mando el Id de usuario y me devuelve en otra variable el tipo de usuario (si es administrador o consulta), y a partir de ese retorno yo condiciono el comportamiento en mi wp o en la trans para mostrar u ocultar algunas cosas, ahora la pregunta es, es necesario estar enviando el UserId a todos los objetos y recibirlos con la rule parm o puedo almacenar una variable de sesion que quede almacenada con ese userId y se destruya cuando haga un logout?

hay un datatype que se llama websession pero aun no logro saber como funciona
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 17
Ha mantenido su posición en GeneXus (en relación al último mes)
Gráfica de GeneXus

Variables de inicio de sesion

Publicado por Julio (305 intervenciones) el 01/06/2011 23:48:49
En cuanto a lo primero que mencionas me entendiste muy bién, y sí, el UserId tendras que enviarlo a todos los objetos o por lo menos en los que vayas a hacer uso de este. La otra opción es que al iniciar sesión guardes en una cookie (esta se guarda en el cliente) un indicador del usuario, esta cookie la vas leyendo cada vez que cargas un Wbp y de acuerdo al valor que tengas almacenado procederas a ocultar o mostrar opciones. Cuando hagas logout eliminas la cookie.
(En Genexus hay una función llamada SetCookie)

Por otra parte, yo tampoco he usado la datatype que mencionas ni conozco su funcionamiento, si tienes algo de tiempo experimenta para saber como funciona, el tiempo es lo que a veces no tenemos y es cuando debemos aplicar el plan B.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Variables de inicio de sesion

Publicado por luis (47 intervenciones) el 02/06/2011 14:51:24
Buenas! Podes utilizar una web session al momento de loguarte. El funcionamiento es el siguiente
Suponiendo que tu variable tipo de websession sea %sess

Event 'Logeo'
//Comprobacion si el usuario es correcto bla bla bla
&sess.set('User',&Usuario)
EndEvent

Luego, en cualquier lugar que necesites rescatar el usuario simplemente pones

&Usuario = &sess.get('User')

y ahi le mandas los for eachs necesarios para ver los permisos de la persona. Espero sirva. Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Variables de inicio de sesion

Publicado por Arlex Franco (101 intervenciones) el 02/06/2011 19:08:02
Gracias Julio, Gracias Luis.

He logrado utilizar la variable session asi:

declarar &Session como WebSession

en el LOGIN en el evento enter:
For each
Where UsrNom = &User
Where UsrPsw = &Password
&Session.Set(“Name”, UsrName)
Call (HWelcome)
When none
Return
//invalid User
endfor



en el evento start del webpanel welcome:

&UsrNombre = &session.Get(“Name”)
If Trim(&UsrNombre)=””
Return ///Invalid Session
Else
TX.Caption = “Welcome “+ &UsrName + “to our site!”
Endif


solo dos cosas, el websession hay q recuperarlo por la clave "name" o la que usaste en el set y el get lo haces para cada wp donde necesites recuperar la info de usuario que obviamente esta en una tabla

en el evento Logout
puedes poner:

&session.destroy()
HLogin.link()

ahora solo tengo un invonveniente mas: Cuando copio el link de un webpanel de mi aplicacion y lo pego en otra instancia del navegador u otro navegador deberia mandarme al webpanel de login y no al wp del link q pongo, saben como lograr ese comportamiento? gracias de antemano

Arlex
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Variables de inicio de sesion

Publicado por Luis (47 intervenciones) el 07/06/2011 23:33:04
Si vos haces lo siguiente: &sess.set('Name','Arlex'), mientras esa websession este viva, siempre que hagas un &sess.get('Name') va a tener como resultado 'Arlex'. En cuanto a lo del link, probalo en un navegador diferente al que testeas la aplicacion, o proba borrando los datos de navegacion de tu explorador.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Variables de inicio de sesion

Publicado por Maria Gonzalez (1 intervención) el 29/08/2012 00:07:39
Buen Día!!


Sobre laas variables de inicio de sesión, utilice el codigo que has compartido en el mensaje anterior pero me marca "Error desconocido de analisis de funcion" y ya lo realice varias veces y no me deja.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Gustavo

Variables de inicio de sesion

Publicado por Gustavo (4 intervenciones) el 20/11/2012 18:55:28
Luis Muchas Gracias por tu comentario, fue de mucha ayuda, Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Variables de inicio de sesion

Publicado por edyth (9 intervenciones) el 13/03/2014 17:21:58
Hola Julio,

he visto la información de este foro y la he aplicado pero solo me funciona cuando estoy en la misma pagina, es decir cuando no abro otra ventana (webpanel).

He utilizado el web session y la cookie; la declaro donde hago el login sin embargo cuando abro otra pagina una vez iniciada la session o la cookie, y trato de recuperarla no me recupera nada (esta vacia).


T.T no se si estoy haciendo algo mal o requiero configurar algo en genexus para obtener el valor.



Estoy usando Genexus 9.0 para web con VB6.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 17
Ha mantenido su posición en GeneXus (en relación al último mes)
Gráfica de GeneXus

Variables de inicio de sesion

Publicado por Julio (305 intervenciones) el 15/03/2014 02:50:45
Hola Edith, todo lo que he aprendido acerca del uso de cookies ha sido leyendo el help de gx9; en la sección eventos de cualquier objetos Gx escribe la palabra SetCookie o GetCookie, selecciona toda la palabra con el mouse y presiona F1.
Si luego de leer el help te falta algo o no lo entiendes me avisas.

Saludos,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar