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

Langage SQL Discussion :

Gestion de droits et de profils


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 16
    Points : 13
    Points
    13
    Par défaut Gestion de droits et de profils
    Bonjour,

    Je souhaiterais obtenir vos avis sur la problématique suivante :



    A partir de ces tables je souhaiterais pouvoir donner des droits d'accès (GED) à des salariés (PSL_Salarie) sur des affaires (AFF_Affaire).

    Par exemple :
    - Un salarié ADMIN accède à toutes les affaires sur toutes les entités
    - Un salarié DIRECTEUR accède à toutes les affaires d'une ou plusieurs entités
    - Un salarié RESPONSABLE D'AFFAIRE ne verra que les affaires auxquelles il est rattaché

    Petites contraintes supplémentaires (sinon c'est pas drole) :
    - Les droits (dépot, consultation, ...) peuvent changer d'une entité à une autre
    - Un salarié peut éventuellement être DIRECTEUR sur une entité et RESPONSABLE d'AFFAIRE sur une affaire d'une autre entité

    En fait je ne sais pas si je dois creer une table DROIT et des tables héritées avec une décomposition par entité puis par affaire.

    Ou alors faire une grosse table de jointure mais j'ai du mal avec la clé primaire...

    Si vous avez une idée je suis preneur

  2. #2
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 119
    Points : 31 627
    Points
    31 627
    Billets dans le blog
    16
    Par défaut
    Bonsoir Marco94,


    Citation Envoyé par Marco94 Voir le message
    Un salarié DIRECTEUR accède à toutes les affaires d'une ou plusieurs entités
    Un salarié a-t-il tous les droits sur les affaires d’une entité dont il est directeur ? (Le verbe « accéder » est ici ambigu).

    Une entité peut-elle avoir plus d’un directeur ? (selon votre diagramme c’est possible).


    Citation Envoyé par Marco94 Voir le message
    Un salarié RESPONSABLE D'AFFAIRE ne verra que les affaires auxquelles il est rattaché.
    Votre diagramme ne montre pas les liens entre les salariés et les affaires dont ils sont responsables. Ces liens seront-ils établis à l’occasion de la définition de leurs droits sur ces affaires ?


    Dans le diagramme ci-dessous, on part sur les règles suivantes (à confirmer) :

    R01 - Seuls certains salariés sont administrateurs (rôle Être admin).

    R02 - Seuls certains salariés sont directeurs (rôle Être directeur).

    R03 - Un salarié peut être directeur de plus d’une entité.

    R04 - Une entité a exactement un directeur.

    R05 - Tout salarié S responsable d’une affaire A de l’entité E fait l’objet d’une ligne <E, S> dans la table ENTITE_SALARIE.

    R06 - Un responsable d’une affaire peut avoir plusieurs droits sur cette affaire.

    R07 - La table RESP_AFFAIRE a pour prédicat :

    Pour l’affaire A de l’entité E, le salarié S a le droit D

    La table RESP_AFFAIRE contient les quadruplets de valeurs <a, e, s, d> tels que s représente un responsable d’affaire qui n’est pas directeur de l’entité e (Le responsable s peut être directeur d’une autre entité, mais ceci n’a pas à être consigné dans la table RESP_AFFAIRE puisque connu grâce à la table DIRECTEUR, et il y aurait alors redondance).
    A noter que les valeurs des clés primaires sont non significatives et hors du champ de vision (donc du contrôle) de l’utilisateur (cf. l’observation d’Yves Tabourier). Par exemple, {AffaireCode} est clé alternative pour la table AFFAIRE, mais c’est la paire {EntiteId, AffaireId} qui est clé primaire.

    A noter encore l’emploi de l’identification relative pour la table AFFAIRE : ceci permet d’empêcher d’attribuer des droits à un salarié sur des affaires qui ressortissent à une entité avec laquelle il n’est pas en relation (contrainte de chemin). Si on utilise l’identification absolue (clé primaire = {AffaireId}), une assertion ou un trigger devra garantir la contrainte.

    Pour éviter des redondances, en toute rigueur on devrait garantir par assertion ou trigger qu’un admin ne figure pas dans la table RESP_AFFAIRE et qu’un directeur d’une entité ne figure dans cette table qu’en relation avec les entités dont il n’est pas directeur mais simple responsable d’affaire.


    Diagramme hypothétique (à aménager en fonction des précisions que vous apporterez)





    En passant, vous avez oublié de répondre aux questions posées l’an dernier, espérons qu’il y aura du mieux cette fois-ci... Et en repassant, disons que votre requête aurait gagné à être décorée d’un « s’il vous plaît » et/ou « merci ». Je suppose qu'il s'agit d'un simple oubli...

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 920
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 920
    Points : 51 712
    Points
    51 712
    Billets dans le blog
    6
    Par défaut
    Citation Envoyé par fsmrel Voir le message
    ... Et en repassant, disons que votre requête aurait gagné à être décorée d’un « s’il vous plaît » et/ou « merci ». Je suppose qu'il s'agit d'un simple oubli...
    Il a quand même dit bonjour !!!!

    Et au fait tu ne lui a pas encore proposé quelques vues....

    A +

  4. #4
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 119
    Points : 31 627
    Points
    31 627
    Billets dans le blog
    16
    Par défaut
    Ave Fredericus Sqlus Maximus,

    Pour le moment c'est à Arthur que je propose des vues (qui ne sont pas que de l'esprit...)

    Vale !

    fsmrelus

Discussions similaires

  1. Gestion des droits et profils utilisateurs
    Par BRUGNON dans le forum Delphi
    Réponses: 1
    Dernier message: 06/05/2007, 18h38
  2. Idées pour une gestion de droits d'accès a des Forms ?
    Par sfxElrick dans le forum Composants VCL
    Réponses: 17
    Dernier message: 26/01/2005, 17h00
  3. Gestion des droits
    Par totop dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 22/01/2005, 10h49
  4. Gestion des droits d'accès
    Par soulryo dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 12/01/2005, 11h50
  5. Gestion De Droits Grant Revoke
    Par donde dans le forum Informix
    Réponses: 5
    Dernier message: 15/01/2003, 12h59

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