Soporte
EN PT ES
Wiki
Contenido
Discusión
Historial
Backlinks

Integración con aplicaciones externas

El componente de “Aplicación externa” permite la integración de aplicaciones web desarrolladas sobre cualquier tecnología. Si la aplicación externa necesita saber cual es el usuario que está accediendo a la misma, es necesario recibir un parámetro de seguridad generado por GXportal como primer parámetro de dicha aplicación. Para esto en el GXPortlet de aplicaciones externas se debe seleccionar la propiedad “Agregar parámetro de seguridad” como muestra la figura siguiente.



 

Como funciona 


Al configurar en el GXportlet de Aplicación Externa, “Agregar parámetro de seguridad”, la aplicación externa recibirá una llave enciptada, utilizando ésta se debe llamar al webservice de GXportal que se encargará de verificar la sesión del usuario en el portal, y retornará 0 si la sesión del usuario es válida y otro número para indicar el tipo de error. En función de esto la aplicación externa podrá tomar la acción deseada.


Como se implementa


Para que las aplicaciones externas conozcan el usuario que está navegando por el portal, las mismas deberán recibir como primer parámetro un Carácter de largo 254. Con este parámetro que se recibe se debe realizar una invocación SOAP a un web service (agxpws001) que valida el usuario y retorna el estado de la sesión y los datos del usuario.
Para los desarrolladores GeneXus está disponible un ejemplo para consolidar en su base de conocimiento un ejemplo de cómo implementarlo.

En ese primer parámetro que reciben de las aplicaciones externas, esta compuesto por los siguientes datos:
  1. Código de idioma en que se está visualizando el portal (“S” = Español, “E” = Inglés, “P” = Portugués, etc.)
  2. Código del portal
  3. Código de canal
  4. Código de página
  5. Código de sector
  6. Código de usuario en GXportal
  7. Estado en que se está visualizando el portal (en producción = “O” o en diseño = “P”)
  8. 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ódigo 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. 


Categorías:

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