Soporte
EN PT ES
Wiki
Contenido
Discusión
Historial
Backlinks

¿Cómo obtengo los datos de usuario logueado en el sitio desde mi aplicación?


Para esto es necesario utilizar un GXportlet de Aplicación Externa. En este GXportlet debemos configurar las propiedades: Origen para especificar la URL de la aplicación y Agregar parámetro de seguridad.

Luego en la aplicación se debe tener en cuenta lo siguiente:
  • Debe recibir por párametro una variable de tipo Character (254), está variable nos permitirá obtener los datos del usuario logueado al sitio. (*)
  • Debe realizar una invocación SOAP al web service externo pgxpws001 que se distribuye con los programas de frontend de GXportal. Este web service valida el usuario y retorna el estado de la sesión y los datos del usuario.

Ejemplo:

  • Bajar el siguiente xpz, crear una nueva Knowledge Base e importarlo.
  • Abrir el objeto externo gxws001 y parandose sobre el método Execute verificar que en la propiedad Address la URL base que apunta al web service coincida con la URL del frontend de GXportal.
  • Hacer Build All.
  • En GXportal agregar un GXportlet de Aplicación Externa con la siguiente URL: http://localhost:<port>/<virtual_directory>/GetCurrentUser_ExampleBasic.aspx y la propiedad agregar parámetro de seguridad con el valor si.
  • Hacer vista previa de la página que contiene el GXportlet y ver los datos del usuario logueado cargados en la aplicación.
     

(*)Este parámetro está compuesto por los siguientes datos: 

Código de idioma en que se está visualizando el portal (“S” = Español, “E” = Inglés, “P” = Portugués, etc.)
Código del portal
Código de canal
Código de página
Código de sector
Código de usuario en GXportal
Estado en que se está visualizando el portal (en producción = “O” o en diseño = “P”)
Clave encriptada

Los primeros 7 valores de este parámetro (separados por “;”) pueden ser utilizados directamente por la aplicación externa (no están encriptados). Cuando se ejecuta el servicio de verificación de sesión de usuario (web service) GXportal valida si el usuario puede acceder a la página y al canal que se reciben por parámetro.

Al ejecutar el web service de GXportal se obtendrá como respuesta el código mayor que cero, para indicar que tipo error ocurrió y si la sesión es correcta, el código de respuesta es cero y se retornan también datos del usuario detallados a continuación.

Códigos de error

          0 - Sesión de usuario correcta
          1 - Usuario anónimo
          2 - Página no válida
          3 - Falta la clave encriptada
          4 - Clave encriptada incorrecta, no corresponde a la sesión
          5 - El usuario encriptado no coincide con el código de usuario
          6 - Sesión incorrecta

Código de usuario (en GXportal)
Código externo del usuario (en la base externa)
Identificación del usuario (login name)
Identificación del Perfil de GXportal
Identificación del Perfil externo
Apellido
Nombre
Código del portal
Código del canal
Código de la página
Código del sector de la página
Estado en que se está visualizando el portal


Cada programa de la aplicación externa lo primero que debería hacer es llamar este al web service de GXportal para validar la sesión el usuario. Para no estar llamando excesivamente al servicio también la aplicación externa podría ejecutar a éste una vez y luego grabar una cookie para identificar el usuario o bien utilizar otro método de sesión del usuario interno de la aplicación. En caso de grabar una cookie conviene que la misma sea destruida una vez que se cierra el navegador. 
 

Wiki inicio
Categorías
Cambios recientes
TOUR
Tutoriales
Documentación
EMPRESA
Soporte
© Todos los derechos reservados. GeneXus y sus productos son marcas registradas por GeneXus S.A. | Política de privacidad | Información de contacto