2011-11-18 47 views
11

¿hay alguna forma de integrar/incrustar JasperServer en otra aplicación web? El problema es que la página de inicio de sesión de JasperServer se debe pasar por alto de alguna manera. ¿Es posible realizar la autenticación a través del servicio web/REST, omitir la página de inicio de sesión y luego mostrar la página del servidor principal en un iframe, o algo por el estilo?"Incrustar" JasperServer en una aplicación web externa?

Gracias.

+0

El enlace es sobre el servicio web JasperServer. No puedo encontrar ninguna información sobre los servlets de JasperServer. – wannik

+0

JasperReports 5.2 ha creado una guía sobre varios tipos de incrustación: http://www.jaspersoft.com/embedding-bi-a-jaspersoft-guide-to-embedding-jaspersoft-into-your-application Si busca Inicio de sesión único, recomiendo leer este artículo de wiki http://community.jaspersoft.com/wiki/jasperreports-server-authentication-reference Cubre opciones tales como JAAS, CAS, LDAP, JBoss SSO, etc. –

Respuesta

6

Puede usar el protocolo Http y extraer los informes en un iframe. La información de autenticación debe ir en la URL como j_username y j_password.

Para usar el servicio de descanso, necesita escribir un cliente REST (lo hice usando Jersey con autenticación Http) donde la información de autenticación va en el encabezado.

También proporciona servicios SOAP para la integración que aún no he probado.

+0

Pasando j_username y j_password en url no es una forma segura. Cualquiera que tenga acceso a la fuente html puede ver esas credenciales y cualquier usuario no autorizado puede descargar el informe sin pasar por el proceso de autenticación. – saurav

2

La autenticación de JasperServer está implementada por Spring Security, por lo que puede usar fácilmente un mecanismo de SSO compatible con Spring Security. Puede encontrar el archivo de configuración XML (para la seguridad) fácilmente.

Cuestiones relacionadas