IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

BIRT Discussion :

Passage de variables entre applications sans l'url [Fait]


Sujet :

BIRT

  1. #1
    Membre du Club
    Profil pro
    Freelance
    Inscrit en
    Mars 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Freelance

    Informations forums :
    Inscription : Mars 2007
    Messages : 41
    Points : 43
    Points
    43
    Par défaut Passage de variables entre applications sans l'url
    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.

  2. #2
    Membre averti

    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    385
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 385
    Points : 321
    Points
    321
    Par défaut
    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 :

    • Récupérer des infos (bdd, fichier, ...) en fonction du userId : création d'un dataset avec en paramètre l'identifiant de l'utilisateur
    • Récupérer un ou plusieurs objets Java via tes classes métiers : créer un scriptdataset (+script datasource)


    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é ...

  3. #3
    Membre du Club
    Profil pro
    Freelance
    Inscrit en
    Mars 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Freelance

    Informations forums :
    Inscription : Mars 2007
    Messages : 41
    Points : 43
    Points
    43
    Par défaut
    Citation Envoyé par erwan.bodere Voir le message
    Si tu as un userId, tu le passes en paramètre à ton rapport.
    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.

  4. #4
    BiM
    BiM est déconnecté
    Expert éminent sénior
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Points : 10 765
    Points
    10 765
    Par défaut
    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 !

  5. #5
    Membre du Club
    Profil pro
    Freelance
    Inscrit en
    Mars 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Freelance

    Informations forums :
    Inscription : Mars 2007
    Messages : 41
    Points : 43
    Points
    43
    Par défaut
    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.

  6. #6
    BiM
    BiM est déconnecté
    Expert éminent sénior
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Points : 10 765
    Points
    10 765
    Par défaut
    Tu peux appeler un service d'une autre application sans problèmes.

  7. #7
    Membre du Club
    Profil pro
    Freelance
    Inscrit en
    Mars 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Freelance

    Informations forums :
    Inscription : Mars 2007
    Messages : 41
    Points : 43
    Points
    43
    Par défaut
    Merci BiM, je vais creuser de ce côté-là.

  8. #8
    Membre averti

    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    385
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 385
    Points : 321
    Points
    321
    Par défaut
    Ou sinon tu encodes l'identifiant de l'utilisateur ...

  9. #9
    Membre du Club
    Profil pro
    Freelance
    Inscrit en
    Mars 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Freelance

    Informations forums :
    Inscription : Mars 2007
    Messages : 41
    Points : 43
    Points
    43
    Par défaut
    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!

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2008
    Messages : 71
    Points : 46
    Points
    46
    Par défaut
    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

  11. #11
    Membre du Club
    Profil pro
    Freelance
    Inscrit en
    Mars 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Freelance

    Informations forums :
    Inscription : Mars 2007
    Messages : 41
    Points : 43
    Points
    43
    Par défaut
    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.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Passage de variable entre deux applications
    Par Jinbei dans le forum C#
    Réponses: 6
    Dernier message: 12/11/2013, 13h34
  2. [Débutant] Passage de variable entre 2 fichiers .xaml dans application WPF
    Par vaio25 dans le forum C#
    Réponses: 2
    Dernier message: 19/05/2012, 21h46
  3. Réponses: 2
    Dernier message: 15/12/2005, 08h43
  4. [C#] Passage de variables entre 2 forms
    Par Tips dans le forum C#
    Réponses: 6
    Dernier message: 06/12/2005, 16h48
  5. [langage] Probleme passage de variables entre modules
    Par Ludo167 dans le forum Langage
    Réponses: 4
    Dernier message: 13/08/2004, 12h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo