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

Designer Discussion :

Filtrer les données retournées selon le groupe d'appartenance de l'utilisateur


Sujet :

Designer

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    66
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 66
    Points : 56
    Points
    56
    Par défaut Filtrer les données retournées selon le groupe d'appartenance de l'utilisateur
    Bonjour à tous,

    On me demande de résoudre le problème suivant (désolé, le message est assez long mais assez simple à comprendre) : jusqu'à présent, notre base de données BO ne contenait que les données de notre société (société A). Récemment, notre maison mère a fait l'acquisition d'une nouvelle société (société B) et les données de cette société B tomberont dans la même base BO que celles de la société A : la base de données BO contiendra donc à la fois les données de la société A et de la société B.

    La distinction entre ces 2 sociétés se fait par un champ contenant le code société (nommé CPY) : A ou B. Ce champ n'est pas présent dans toute les tables de la base BO mais - pour le moment du moins - uniquement dans certaines tables de dimensions : les tables de tiers (clients, fournisseurs, prestataires) et celle contenant les données des salariés des sociétés A et B.

    Les tables sans données confidentielles et pouvant être utilisées de la même façon pour les deux sociétés (tables de libellés) n'ont évidemment pas reçu le champ CPY, la distinction entre les 2 sociétés étant sans intérêt ici.

    Le champ CPY n'a pas non plus été redescendu dans les tables de faits (devis, commandes, etc.) mais cela peut se faire si cela s'avère nécessaire à la résolution de mon problème.

    Voici donc le problème en lui-même :

    • Les salariés des sociétés A et B doivent pouvoir accéder via Webi aux données de leurs sociétés respectives, mais en aucun cas aux données de l'autre société.

    • Les administrateurs doivent pouvoir accéder aux données des sociétés A et B simultanément.

    • Je souhaite ne pas doublonner les univers : l'univers des commandes actuel doit pouvoir servir aux 2 sociétés.

    • La solution à mettre en œuvre doit être la plus simple et la plus rapide possible parce que j'ai 39 univers qui sont concernés.


    J'ai fait quelques essais, et pour le moment, la seule solution que je trouve est de passer par la gestion des restriction d'accès (Outils / Gérer la sécurité / Gérer les restrictions d'accès) :

    • Je crée 2 restrictions d'accès nommées respectivement "Société A" et "Société B". Les restrictions sont définies dans l'onglet "Lignes" et sont respectivement de la forme T_CLIENTS.CPY = 'A' et T_CLIENTS.CPY = 'B'. Bien-sûr, toutes les tables concernées dans l'univers sont traitées de la même manière ici. Les restrictions sont combinées avec l'opérateur AND.

    • Parallèlement à cela, j'ai créé dans la CMC deux groupes nommés "Groupe A" et "Groupe B" auxquels j'ai affecté respectivement les salariés des sociétés A et B. Les administrateurs n'ont pas été affectés à ces groupes pour ne pas subir les restrictions.

    • J'ai ensuite appliqué la restriction "Société A" à "Groupe A" et la restriction "Société B" à "Groupe B".


    Après essai de login en tant que salarié de la société A puis de la société B, le résultat est assez concluant : les données sont correctement filtrées.

    Par contre, je trouve que d'une part la mise en œuvre est assez longue et fastidieuse, et d'autre part il me reste un problème à résoudre : dans Webi, lorsqu'un utilisateur de la société A sélectionne des objets d'une table contenant le champ CPY, un filtre est automatiquement ajouté au code SQL généré pour restreindre les données retournées aux seules données de la société A. Ca c'est formidable. Malheureusement, je n'arrive pas à trouver comment bloquer l'accès au SQL personnalisé dans le visualiseur SQL de Webi : en effet, rien n'empêche l'utilisateur d'éditer le code de la requête, de supprimer le filtre sur la société, puis d'actualiser les données... Côté sécurité, c'est raté...

    J'ai donc deux questions :

    • La solution vers laquelle je m'oriente est-elle la plus simple selon vous pour répondre à mon besoin ?

    • Si oui, comment interdire la modification du code SQL généré automatiquement par BO, y compris pour les états présents dans les favoris des utilisateurs ? A noter qu'ils doivent pouvoir conserver la liberté de modifier les requêtes via les objets mis à disposition dans l'univers.


    Merci d'avance pour votre aide et bonne fin de journée.

  2. #2
    Membre expérimenté
    Avatar de bastoonet
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Septembre 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 011
    Points : 1 342
    Points
    1 342
    Par défaut
    Tu peux créer sous la CMC des "niveaux d'accès" différents, et ainsi ajouter/retirer des droits(fonctionnalités), comme la visualisation du SQL.

    Ensuite tu modifies la sécurité des groupes A et B que tu a créé, tu fais affecter la sécurité, et tu ajoutes le(s) niveau(x) d'accès que tu souhaites.

    ...quelquechose comme ça..
    ~ Bastoonet ~

    Consultant BI

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    66
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 66
    Points : 56
    Points
    56
    Par défaut
    Bonsoir, ok merci pour ta réponse. Je vais essayer comme ça.

    Bonne soirée.

Discussions similaires

  1. Filtrer les données dynamiquement
    Par myasic dans le forum DB2
    Réponses: 1
    Dernier message: 14/03/2007, 20h51
  2. Filtrer les données en fonction d'un paramètre multivalué
    Par v1nce dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 18/01/2007, 10h10
  3. Filtrer les données reçues
    Par cryborg dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 20/07/2006, 16h36
  4. SQL*Loader : filtrer les données chargées
    Par gattaca dans le forum Oracle
    Réponses: 2
    Dernier message: 13/07/2006, 09h51
  5. [JTABLE]trier et filtrer les données d'une jTable
    Par mehdi82 dans le forum Composants
    Réponses: 4
    Dernier message: 15/12/2005, 17h59

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