En muchas ocasiones tengo que acceder a un reccurso de pentaho desde terceras aplicaciones. Tales cómo un cuadro de mandos, o un informe. En estos casos, siempre nos encontramos con la misma pregunta.... ¿Le vamos a obligar al usuario a volver a hacer login ? En caso de que no queramos hacerlo... ¿Como lo vamos a gestionar?
Tenemos varias formas, algunas mejores y otras peores... Pedro Alves ya ha hablado de esto en varias ocasiones. Su post más reciente y recomendable es este... (creo).
Básicamente:
Siempre, las opciones más recomendables son la 3 y la 4 aunque hay ocasiones en las que no es posible por cualquier motivo.. Por lo que es interesante tener una opción intermedia.
Por eso en Jortilles hemos creado a ... Urbano
Un filtro que te permite acceder a ciertas urls conocidas si le das la contraseña. Para eso codificaremos las llamadas bajo cierto patrón conocido por Urbano y por la aplicación tercera:
http://localhost:8080/pentaho/Urbano?token=MI_TOKEN&dst=MI_DESTINO
Donde:
La documentación técnica está en el proyecto
Un administrador cuidadoso dirá que este método está bien. Pero que una vez hecho login tienes acceso a todos los recursos de Pentaho. Ya has hecho login. Ya estás dentro. Ya puedes ir a http://localhost:8080/pentaho/Home
Aquí es donde entra en juego nuestro proxy http. Si queremos realmente exponer SOLO ciertas URLs podemos poner un proxy http por medio que nos intercepte el trafico y nos exponga tan sólo las urls que queremos dejar disponibles. De esta forma también enmascararemos las llamadas y nadie sabrá lo que hay detrás.
Ahora ya si que sólo exponemos al mundo ciertas urls de forma controlada. Manteniendo el acceso total y normal desde nuestra intranet .
El proyecto está en Github: https://github.com/jortilles/byPassPentahoLogin
Notas y agradecimientos:
Tenemos varias formas, algunas mejores y otras peores... Pedro Alves ya ha hablado de esto en varias ocasiones. Su post más reciente y recomendable es este... (creo).
Básicamente:
- Pasar usuario y contraseña por la url ... (No muy recomendable)
- Habilitar acceso anónimo... (y pierdo la seguridad)
- Configurar las dos aplicaciones para hacer Single Sign On (CAS)
- Login basado en cookies ( documentación ).
Siempre, las opciones más recomendables son la 3 y la 4 aunque hay ocasiones en las que no es posible por cualquier motivo.. Por lo que es interesante tener una opción intermedia.
Por eso en Jortilles hemos creado a ... Urbano
Un filtro que te permite acceder a ciertas urls conocidas si le das la contraseña. Para eso codificaremos las llamadas bajo cierto patrón conocido por Urbano y por la aplicación tercera:
http://localhost:8080/pentaho/Urbano?token=MI_TOKEN&dst=MI_DESTINO
Donde:
- MI_TOKEN es mi clave de acceso codificada
- MI_DESTINO es el destino conocido al que quiero acceder.
La documentación técnica está en el proyecto
Un administrador cuidadoso dirá que este método está bien. Pero que una vez hecho login tienes acceso a todos los recursos de Pentaho. Ya has hecho login. Ya estás dentro. Ya puedes ir a http://localhost:8080/pentaho/Home
Aquí es donde entra en juego nuestro proxy http. Si queremos realmente exponer SOLO ciertas URLs podemos poner un proxy http por medio que nos intercepte el trafico y nos exponga tan sólo las urls que queremos dejar disponibles. De esta forma también enmascararemos las llamadas y nadie sabrá lo que hay detrás.
Ahora ya si que sólo exponemos al mundo ciertas urls de forma controlada. Manteniendo el acceso total y normal desde nuestra intranet .
El proyecto está en Github: https://github.com/jortilles/byPassPentahoLogin
Notas y agradecimientos:
- Francesco Corti y Alberto Mercati han tenido el mismo problema y han hallado una solución similar https://github.com/Rospaccio/pentaho-authentication-ext ... a mi me gusta más la mia.
- Jordi Pallares ha aportado la solución del proxy http para eliminar el problema del posible acceso a la PUC una vez hecho el login.