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

Jasper Discussion :

filtrage des données sur l'utilisateur


Sujet :

Jasper

  1. #1
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 50
    Points : 43
    Points
    43
    Par défaut filtrage des données sur l'utilisateur
    Existe t il un moyen assez simple de filtrer les données dynamiquement par rapport à l'utilisateur sur un rapport Jasper?

    ex : un responsable région Ile de france d'une chaine grande distrib n'a le droit de voir que les données de la région ile de france .
    Dans la requête une clause 'where = ile de france' apparaitra sur chacun des rapports qu'il exécutera.

  2. #2
    Membre régulier

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 57
    Points : 70
    Points
    70
    Par défaut
    Bonjour,

    Je ne pense pas qu'il y ait de moyen simple de faire ça.
    JasperReports est un outil de reporting, je ne pense donc pas que ce soit son rôle, la confidentialité doit être gérée ailleurs.

    Arnaud

  3. #3
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Bonjour,

    Je sais pas si j'ai vraiment compris le post (et de plus je ne vais pas contredire un habitant de l'Auvergne ) mais moi je pense que cela est possible.

    Tu peux inclure un paramètre pour ton rapport jrxml (jasper), ce paramètre sera récupérable dans le rapport et surtout dans la requête.

    Moi je travaille sous iReport mais cela est aussi possible en java (avec librairie net.sf.jasperreports.engine).

    Sans plus de précisions, je sais pas si je vais dans le bon sens ???

  4. #4
    Rédacteur
    Avatar de JauB
    Homme Profil pro
    Freelancer
    Inscrit en
    Octobre 2005
    Messages
    1 792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Maroc

    Informations professionnelles :
    Activité : Freelancer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 792
    Points : 2 914
    Points
    2 914
    Par défaut
    Citation Envoyé par paris11 Voir le message
    Existe t il un moyen assez simple de filtrer les données dynamiquement par rapport à l'utilisateur sur un rapport Jasper?

    ex : un responsable région Ile de france d'une chaine grande distrib n'a le droit de voir que les données de la région ile de france .
    Dans la requête une clause 'where = ile de france' apparaitra sur chacun des rapports qu'il exécutera.
    @Fench a raison, explique nous le contexte de ton projet. Tu souhaites passer via une application Java ou quoi?
    Dans tous les cas c'est possible en créant un paramètre que tu ajouteras dans ta requête. Reste juste comment récupérer la région! Si tu as une application, alors tu pourras certainement récupérer la région à la quelle est rattachée l'utilisateur connecté et c'est cette région que tu passeras comme paramètre à ton rapport.
    Explique nous davantge ce que tu veux faire

  5. #5
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 50
    Points : 43
    Points
    43
    Par défaut précisions
    Merci pour vos réponses ,je vais essayer d'être plus clair.
    J'ai des utilisateurs de niveau différent, un manager Ile de France, un manager Aquitaine, un manager NOrd Pas de cAlais, et 1 super manager France.

    Les 4 managers se connectent au portail jaspersoft, ils exécutent le même rapport.
    Donc oui dans mon rapport j'ai mis un place un parametre "region" mais l'utilsateur ne doit pas voir l'invite quand il exécute, il n'a pas à sélectionner la région , il faut qu'automatiquement dans la requete la clause "where parametre_region = 'Ile de France' apparaisse pour le manager ile de france, ainsi il ne peut pas voir les données des autres.

  6. #6
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Oui alors là c'est plutôt dans ta base de données ...

    Il faut une table UTILSATEUR avec un champ qui donne la région suivant l'utilisateur puis de faire le 'where' avec le résultat du champ.

    par contre si c'est pas possible de modifier la base, il faut un script de lancement du rapport qui soit différent suivant l'utilsateur ... mais là c'est plutôt du bidouillage.

    sinon, je te cherche une autre possibilité en ce moment même

  7. #7
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Solution bis, qui doit être bonne:

    Dans la définition de ton paramètre 'region', tu vires le 'utiliser comme invite' puis dans 'Expression de valeur par défaut', tu fais une condition multiple sur le field de l'utilisateur (vu que tu en as que 4, c'est pas trop dur).

    Voili, voilà

    Excuses, petit rajout, il faudra forcement utiliser un sous rapport pour la visualisation des données suivant la région

  8. #8
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 50
    Points : 43
    Points
    43
    Par défaut
    je n'avais encore jamais utilisé cette fonction 'expression de valeur par defaut'

    je vais essayer de suite, par contre je n'ai pas forcément 4 valeurs possibles c'était un exemple

    merci, ça m'éeclaire deja bcp

  9. #9
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 50
    Points : 43
    Points
    43
    Par défaut utilisateur connecté?
    le problème est que je ne trouve pas dans la liste des paramètres standards préconstruits dans iReport celui qui renvoie l'utilisateur connecté.

  10. #10
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Bonjour,

    Tu peux me donner ta requête dans le menu 'Données/Consultation de rapports"

    Je vais déjà essayer de voir avec cela, et ensuite je trouverais peut être une solution.

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2008
    Messages : 10
    Points : 9
    Points
    9
    Par défaut
    Ce genre de filtre peut-être très efficacement mis en place au niveau de la base de données si tu utilises Oracle (Oracle Security Guide chapter 14 and 15). J'ai constaté que JasperServer intégrait également la notion fine grained access control au niveau des domaines.

Discussions similaires

  1. acquisition des données sur port ethernet
    Par HELPME42 dans le forum Développement
    Réponses: 3
    Dernier message: 25/05/2006, 15h48
  2. [AJAX] Rafraichissement des données sur la page
    Par TreizeSegments dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 17/05/2006, 18h32
  3. verrouillage des données / base Multi utilisateurs
    Par DI DODO dans le forum Access
    Réponses: 1
    Dernier message: 27/03/2006, 15h34
  4. Remonter des donnes sur ACCESS
    Par pierre bunel dans le forum Access
    Réponses: 1
    Dernier message: 22/12/2005, 17h03
  5. Récupérer des données sur une page HTML
    Par rupeni dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 18/11/2005, 17h22

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