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

Schéma Discussion :

Gestion des permissions [MCD]


Sujet :

Schéma

  1. #1
    Membre actif
    Avatar de Micmaya
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2010
    Messages : 131
    Points : 202
    Points
    202
    Billets dans le blog
    3
    Par défaut Gestion des permissions
    Bonjour,
    J'ai un petit problème concernant la gestion des droits dans une application.
    Voici mon schéma:

    Nom : mcd2.PNG
Affichages : 5421
Taille : 15,4 Ko

    Une personne a un ou plusieurs rôles et les rôles sont possédés par aucun ou plusieurs personnes.
    Les rôles ont au aucune ou plusieurs permissions et celle-ci sont possédés par au moins un ou plusieurs rôles.

    Mon problème est que j'aimerais modéliser ceci:
    Un utilisateur qui a le rôle x peut éditer un formulaire (qui est une permission), si bien sûr cette permission est bien accordée au rôle x en question.

    Bien à vous,
    Pensez à mettre comme si c'est le cas !

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 47
    Points : 29
    Points
    29
    Par défaut
    Pourquoi ne pas relier la permission au formulaire ?

  3. #3
    Membre actif
    Avatar de Micmaya
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2010
    Messages : 131
    Points : 202
    Points
    202
    Billets dans le blog
    3
    Par défaut
    Je pense que c'est plutôt du côté applicatif que je dois faire ça. Comme ceci:

    L'utilisateur se logue et j'obtiens alors son ou ses "rôles", grâce à cela j'obtiens la liste des permissions. Ce qui me donnerai:
    1. Créer un formulaire
    2. Éditer un formulaire
    3. ....
    Et en programmation, j'aurai plus qu'à faire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IF ( USER_ID_PERMISSION == 2 ) THEN
    Bien sûr, il faudra sans doute supprimer les permissions qui sont en double avec un DISTINCT dans la requête SQL pour récupérer la liste des permissions.

    Qu'en pensez-vous ?
    Pensez à mettre comme si c'est le cas !

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 47
    Points : 29
    Points
    29
    Par défaut
    Si je résume, on a les règles suivantes que tu as sous les yeux mais que tu n'as pas toutes identifiées :
    • Une personne a un ou plusieurs rôles.
    • Un rôle est possédé par aucune ou plusieurs personnes.
    • Un rôle regroupe aucune ou plusieurs permissions.
    • Une permission est attribuée à un ou plusieurs rôles.
    • Une permission concerne un seul formulaire.
    • Un formulaire possède une ou plusieurs permissions.


    Que signifie l'association "éditer" entre l'utilisateur et le formulaire ?

  5. #5
    Membre actif
    Avatar de Micmaya
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2010
    Messages : 131
    Points : 202
    Points
    202
    Billets dans le blog
    3
    Par défaut
    Ce que j'aimerais faire mais je ne pense pas que je pourrai le schématiser en DB, tout du moins ce serait, je pense beaucoup trop lourd.

    Si je définis la liste des permissions suivants:
    • Visualiser le formulaire
    • Éditer le formulaire
    • Supprimer le formulaire
    • ...


    Et que je les rattachent aux rôles, comme ceci par exemple:
    • ADMIN : Visualiser , Editer et Supprimer le f ormulaire
    • ÉDITEUR : Visualiser et Editer le formulaire
    • UTILISATEUR : Visualiser le formulaire


    Et donc, l'utilisateur (Personnes) se verra attribuer un ou plusieurs rôles (ça je réfléchis encore, s'il ne devrait pas recevoir qu'un seul rôle).

    Comment je matérialise en DB le fait que le formulaire peut être visualiser, éditer, supprimer,... suivants les permissions que l'utilisateur à reçu suite à l'attribution de son ou ses rôle(s).
    Comme je l'ai dis, je ne pense pas que ce soit faisable en DB mais il faudrait que l'applique plutôt dans la couche "programmation", comme ceci par exemple:

    Tableau de la variable "session" de 2 utilisateurs
    =============================

    Array(session)
    {
    "lastname" => "Dupont",
    "firstname" => "Jean",
    ...
    "rôles" => {"éditeur", "utilisateur"},
    "permissions" => {"éditer", "visualiser", "visualiser"}
    }
    -----------------------------------------------------

    Array(session)
    {
    "lastname" => "Ducheval",
    "firstname" => "Pierre",
    ...
    "rôles" => {"utilisateur"},
    "permissions" => {"visualiser"}
    }
    -----------------------------------------------------

    Dès que l'utilisateur accédera au formulaire, il y aura un mécanisme comme ceci:

    SI ( dans le tableau "permissions" de la variable "session", j'ai la permission == "éditer" ) ALORS
    ....OK, "Dupont Jean" pourra éditer le formulaire mais pas "Ducheval Pierre" car il ne possède pas la permission en question.
    FIN

    Bien sûr je travaillerai avec les ID des permissions pas le nom de celle-ci et je vérifierai que les permissions ne soient pas dupliquées au chargement de la variable "session", c'était juste pour l'exemple que je l'ai illustré comme ceci.
    Que signifie l'association "éditer" entre l'utilisateur et le formulaire ?
    L'association "éditer" est en fait une permission que je voulais matérialiser en DB mais qui maintenant je pense est inconcevable, vu la quantité de permissions qu'il pourrait y avoir et donc je pense que je vais basculer tout ce côté-là en programmation qui sera beaucoup plus simple et qui reviendra au même.
    Pensez à mettre comme si c'est le cas !

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 47
    Points : 29
    Points
    29
    Par défaut
    un conseil pour le moment : ne pense pas développement, pense juste modèle de conception... la manière dont tu exploiteras tes données dans ton application est une chose, la manière dont c'est stocker est autre chose.

  7. #7
    Membre actif
    Avatar de Micmaya
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2010
    Messages : 131
    Points : 202
    Points
    202
    Billets dans le blog
    3
    Par défaut
    Pour finir, j'ai décidé d'appliquer les permissions directement depuis la programmation, comme ce que j'ai vu dans plusieurs autres solutions de CMS (ce qui se reflète le plus à mon application que je souhaite développer).

    Bien à vous et merci à vous pour vos réponses.
    Pensez à mettre comme si c'est le cas !

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

Discussions similaires

  1. [SP-2007] Commentaires sur "SharePoint 2007 : Gestion des permissions via l'object model"
    Par LefortLudovic dans le forum Contribuez
    Réponses: 2
    Dernier message: 16/10/2009, 09h21
  2. Réponses: 1
    Dernier message: 22/03/2009, 18h03
  3. gestion des permissions : SQL
    Par aminlove88 dans le forum Administration
    Réponses: 9
    Dernier message: 28/01/2009, 18h20
  4. Gestion des permissions : meilleure solution pour déployer un war ?
    Par supermanu dans le forum Administration système
    Réponses: 0
    Dernier message: 29/07/2008, 19h15
  5. Gestion des permissions des fichiers sur NTFS
    Par gnu_thomas dans le forum MFC
    Réponses: 3
    Dernier message: 22/01/2004, 08h22

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