TeK55
Messages postés5Date d'inscriptionmercredi 2 mai 2007StatutMembreDernière intervention20 octobre 2009
-
22 avril 2009 à 09:16
TeK55
Messages postés5Date d'inscriptionmercredi 2 mai 2007StatutMembreDernière intervention20 octobre 2009
-
15 mai 2009 à 11:11
Bonjour à tous,
Mon chef m'a donné un projet en partant en vacances et j'ai à réaliser un programme qui récupère les groupes et les droits de l'utilisateur présent dans l'active directory. Jusque la, aucun problème ...
Par contre, maintenant je dois faire un programme qui à partir de ces groupes et droits, dois créer un système qui va faire le cumul de tous ces données dans le but de cacher des données selon le profil de l'utilisateur.
Par exemple, une personne de la Comptabilité, aura accès à la partie compta du programme mais par contre n'aura pas accès à la partie Magasin ainsi de suite.
Par contre, le directeur aura accès à tous les éléments du programme etc...
Mon problème est que je sais pas trop solutionner ce problème sans créer un système imposant avec Base de données sauvegardant les droits d'affichage de données selon les groupes et d'architecture de programmes avec classes abstraites et classes dérivées. Enfin bon un programme lourd je trouve seulement pour attribuer des droits sur le programme lors du lancement du programme.
Donc connaitriez vous une autre façon de faire afin de soulager le lancement du programme ? Toutes les idées sont les bienvenues
titeoe
Messages postés433Date d'inscriptionsamedi 26 avril 2003StatutMembreDernière intervention 4 décembre 20091 23 avril 2009 à 08:25
Bonjour,
Tu ne pourras pas t'affranchir d'une gestion en base de données pour le stockage de tes droits. En effet il faut bien définir la liste des profils identifiés ainsi que les éléments accessibles ou non a tel ou tel profil.
Une fois que l'utilisateur est connecté à ton application (identifié via AD) tu ne manipules ensuite que son rôle et les éléments accessibles sont définis en BDD (ou dans un fichier XML par exemple).
C'est assez classique comme problématique et a chaque fois il faut bien un référentiel pour stocker les droits.
cs_MoH008
Messages postés238Date d'inscriptionlundi 2 mars 2009StatutMembreDernière intervention29 septembre 20111 22 avril 2009 à 15:14
Salut,
en gros si j'ai bien compris, cela s'apparente aux "vues" en bdd ??
As tu déjà vérifié que ton projet soit réalisable ? (bloquer l'accès à certaines fonctionnalités du programme d'après leur droit d'accès )
TeK55
Messages postés5Date d'inscriptionmercredi 2 mai 2007StatutMembreDernière intervention20 octobre 2009 22 avril 2009 à 16:58
Salut et merci pour la réponse.
Non, pas vraiment. Ce n'est pas vraiment les données issues de la base que je cherche à cacher mais les différents menus présents potentiels dans mon programme. Je doit construire mon menu à l'intérieur du programme dynamiquement selon le profil de l'utilisateur connecté sur la session de windows.
C'est à dire une personne de la compta verra dans son menu l'onglet Affaires , Comptes tandis qu'une personne de la RH verra l'onglet Comptes , Ressources , Salaries. C'est juste un exemple.
Je ne sais pas comment gérer le système ... Désolé si ce n'est pas très clair mais même moi-même, j'ai dis mal à trouver la solution pour pallier à ce problème.
Je pense que je vais me baser sur les groupes présents dans l'AD et définir selon chaque groupe de l'AD les onglets à ajouter à mon menu mais je trouve cette solution pas vraiment optimisée.
Donc tous les points de vues sont le bienvenue ! :D
Question pour savoir si c'est réalisable :
Peut être ou peut être pas mais je n'est pas vraiment le choix je dois présenté quelque chose dans 2 semaines ...
TeK55
Messages postés5Date d'inscriptionmercredi 2 mai 2007StatutMembreDernière intervention20 octobre 2009 15 mai 2009 à 11:11
Rebonjour,
Bon ça fait un certain temps que j'étais pas revenu. Merci titeoe, je me suis inspiré de ce que tu m'avais dis. J'ai fait différente version et j'ai réalisé mon système de gestions en créant un objet qui se créer automatiquement selon l'architecture de mon ribbon. Et je gère la sauvegarde de cette objet avec les méthodes de sérialisation.