|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Inscription : mars 2007 Messages : 41 ![]() |
Bonjour,
Sur un serveur doté de Tomcat, j'ai deux applications, celle métier et celle du Web Viewer de Birt. Ce qui va m'intéresser c'est la communication entre ces deux applications. Je peux lancer des rapports avec en paramètres des données non sensibles. Mais dès que je souhaite instaurer un filtrage des données en fonction du userId, je me demande comment transmettre cette donnée de manière sécurisée? Dans la FAQ Eclipse Birt nous avons ceci : http://wiki.eclipse.org/BIRT/FAQ/Applications Et même ceci : http://wiki.eclipse.org/BIRT/FAQ/Rep..._the_values.3F Ce qui laisse sous-entendre qu'il y a des moyens de faire mais aucun lien, ni tutoriel. Quelqu'un d'entre vous a déjà réalisé ce genre de choses ou vu des infos pertinentes à ce sujet? Merci. |
|
|
00
|
|
|
#2 |
|
Membre éclairé
![]() ![]() Inscription : novembre 2005 Messages : 385 ![]() |
Si tu as un userId, tu le passes en paramètre à ton rapport.
Après, il y a plusieurs façon de procéder suivant tes besoins :
Pour plus d'informations sur la mise en oeuvre de ce dernier point, tu peux consulter la FAQ EDIT : Tu peux également passer un objet Java sérialisé ... |
|
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Inscription : mars 2007 Messages : 41 ![]() |
Justement, si je le passe en paramètre, un utilisateur peut s'amuser à essayer d'autres identifiants et lui permettre d'accéder à des informations qui ne lui sont pas destinées.
J'ai déjà passé la faq française et anglaise en revue et à part les allusions dans les liens que j'ai posté précédemment, il n'y a rien de concret. Le soucis n'est pas de faire passer un paramètre, c'est facilement faisable dans l'url par exemple. Le soucis est de faire passer des paramètres entre les 2 applications sans que cela passe en clair dans le navigateur. Les allusions dont je parle m'auraient laissé penser que c'est faisable mais est-ce peu utilisé, pas encore implémenté? Actuate propose des choses, mais c'est évidemment payant. J'aurai supposé que quelqu'un avant moi aurait souhaité sécuriser l'accès aux rapports et que selon le type d'utilisateur, les données ne soient pas les mêmes. Un responsable commercial, par exemple pourrait voir les chiffres de son service mais n'aurait pas accès aux données du service RH. Le responsable RH, lui, en visualisant le même rapport aurait les données de son service. |
|
|
00
|
|
|
#4 |
![]() ![]() Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT Inscription : janvier 2005 Messages : 7 299 ![]() |
Bonjour,
Tous mes états n'indiquent rien dans l'URL et surtout pas les paramètres puisque ce sont des objets Java en général. Regarde cette question Comment faire un service générique de génération BIRT dans une application J2EE ? dans la FAQ BIRT. Cela te permet de passer tes paramètres via Java. Ils sont donc invisibles dans l'URL. Bon courage ! |
|
|
00
|
|
|
#5 |
|
Nouveau Membre du Club
![]() Inscription : mars 2007 Messages : 41 ![]() |
Bonjour,
Merci de ta réponse. Cependant, là (ton article dans la faq), nous sommes dans un contexte où l'on utilise l'api engine au sein de l'application J2EE métier je crois. Dans mon cas, il y a 2 applis distinctes. Celle métier et celle du Web Viewer. Ils n'ont de commun qu'ils sont sur le même serveur tomcat mais c'est tout. Je ne peux donc pas partager des objets java comme dans ton article. |
|
|
00
|
|
|
#6 |
![]() ![]() Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT Inscription : janvier 2005 Messages : 7 299 ![]() |
Tu peux appeler un service d'une autre application sans problèmes.
|
|
|
00
|
|
|
#7 |
|
Nouveau Membre du Club
![]() Inscription : mars 2007 Messages : 41 ![]() |
Merci BiM, je vais creuser de ce côté-là.
|
|
|
00
|
|
|
#8 |
|
Membre éclairé
![]() ![]() Inscription : novembre 2005 Messages : 385 ![]() |
Ou sinon tu encodes l'identifiant de l'utilisateur ...
|
|
|
00
|
|
|
#9 |
|
Nouveau Membre du Club
![]() Inscription : mars 2007 Messages : 41 ![]() |
En effet Erwan, j'ai pris le parti d'encoder à partir de l'application métier, de l'écrire dans un cookie temporaire et de le décoder côté Web Viewer.
Je te remercie d'avoir confirmé que ce n'était pas une mauvaise idée! |
|
|
00
|
|
|
#10 |
|
Membre à l'essai
![]() Inscription : mai 2008 Messages : 70 ![]() |
Bonjour,
J'ai la même problématique que toi et j'aimerais savoir comment tu t'y est pris pour le decodage côté Web Viewer. Je dois t'avouer que je suis débutant en java Merci d'avance Alexandre |
|
|
00
|
|
|
#11 |
|
Nouveau Membre du Club
![]() Inscription : mars 2007 Messages : 41 ![]() |
Bonjour Alexandre,
Du côté de mon appli métier, j'ai crypté une variable (grâce à ce tutoriel : ici), je l'ai écris dans un cookie grâce à cette classe : HttpServletResponse. Côté webviewer je fais le même processus mais inversé bien sûr J'ai du modifier les classes suivantes : BirtViewerReportService et ReportEngineService. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com