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 PHP Discussion :

Gestion des droits


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut Gestion des droits
    Bonjour à tous,

    Je rencontre actuellement un souçis avec la gestion des droits sur un de mes sites.

    Fonctionnement :

    Actuellement les droits des utilisateurs sont gérer à travers une classe et une bdd.
    Chaque utilisateur appartient à un groupe.
    Dans la base, des "ressources" sont définies , elles correspondent au droits , comme par exemple "poster_news". De plus à cette ressource j'associe un niveau d'accès qui correspond au groupe minimal qui y a accès.
    Reste finalement une table qui permet de faire la liaison entre les ressource et les utilisateurs.

    Extrait de code simplifié :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    $ressources = $sql->query('SELECT label,niveau FROM ressources');
    while($ressource = $ressources->fetch())
    {
        $ACL->addRessource($ressource['label'],$ressource['niveau']); // Ajout des ressources (droits) à l'objet de gestion d'accès
    }
     
    // Pour l'utilisateur connecté je récupère ses droits spécifique afin de lui autoriser ou interdire l'accès aux ressources
    $exceptions = $sql->query(SELECT label,droit FROM user_droits LEFT JOIN users_ressources...... WHERE idUSer = 5); //Je vous passe les conditions de jointure
    while($exception = $exceptions->fetch())
    {
        $droit = ($exception['droit']==1)?true:false;
        $ACL->allowUser($exception['label'],$droit);
    }
     
    //Ensuite quand nécessaire je test l'accès a une ressource : 
    if($ACL->isAllowed('nom_ressource'))
    {
        //OK
    }

    Problème :
    Tout marchais très bien jusqu'à maintenant , sauf que désormais un de mes clients est allergique au cahier des charges et me demande d'ajouter et supprimer des droits sans arret.

    Du coup pour les nouveaux utilisateurs pas de problème mais pour les autres je dois recréer une entrée dans la table qui fait la liasion entre utilisateur et ressource.

    Du coup je me demande si ma manière de gérer les droits est la bonne ? Si mes droits ne sont pas tous définis de base ça devient une galère à gérer
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  2. #2
    Membre chevronné
    Avatar de djayp
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 295
    Par défaut
    Salut,

    Perso j'utilise la même technique qui est à mon avis la plus souple et la plus facile à gérer.
    Je me trompe peut-être mais j'ai l'impression que tu fais tout à la main directement avec l'utilitaire de ta base de données. Pourquoi ne créés-tu pas un formulaire (html/php) te permettant de gérer tes groupes et tes droits ? Ainsi tu pourras ajouter et supprimer tes "ressources" plus facilement...

    A++

  3. #3
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    Citation Envoyé par djayp Voir le message
    Salut,

    Perso j'utilise la même technique qui est à mon avis la plus souple et la plus facile à gérer.
    Je me trompe peut-être mais j'ai l'impression que tu fais tout à la main directement avec l'utilitaire de ta base de données. Pourquoi ne créés-tu pas un formulaire (html/php) te permettant de gérer tes groupes et tes droits ? Ainsi tu pourras ajouter et supprimer tes "ressources" plus facilement...

    A++
    J'ai également un formulaire me permettant de rajouter des droits mais je trouve pas ça très pratique de parcourir chaque utilisateur , vérifié si il on déja le droit qu on vient d ajouter et le cas échéant leur rajouter.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Février 2009
    Messages : 34
    Par défaut
    Ben le truc c'est que tu ne peux pas avoir une meilleur gestion que par un formulaire .. à moin que tu as un moyen de déterminer des groupes d'utilisateur ... ce qui te permettrai d'ajouter des droits sur un groupe et non sur un seul utilisateur.

  5. #5
    Membre chevronné
    Avatar de djayp
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 295
    Par défaut
    Oui effectivement le mieux est d'associer tes ressources à un groupe et non directement à un membre. Peut-importe si tu as 10 ou 20 groupes ce sera plus simple à gérer. Tu peux aussi créer une liste des membres avec le groupe auquel ils appartiennent de manière à les repérer facilement.
    Voilà sinon je ne vois pas trop comment faire mieux...

    A++

  6. #6
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    Citation Envoyé par djayp Voir le message
    Oui effectivement le mieux est d'associer tes ressources à un groupe et non directement à un membre. Peut-importe si tu as 10 ou 20 groupes ce sera plus simple à gérer. Tu peux aussi créer une liste des membres avec le groupe auquel ils appartiennent de manière à les repérer facilement.
    Voilà sinon je ne vois pas trop comment faire mieux...

    A++
    Malheuresement ce n'est pas possible à moins de créer un groupe par utilisateur puisque chaque utilisateur doit avoir des droits indépendants (basé sur ceux du groupe auquel il appartient afin de pouvoir moduler au maximum les accès.

    Merci pour vos réponses en tout cas
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Gestion des droits Samba
    Par mask66 dans le forum Réseau
    Réponses: 9
    Dernier message: 25/05/2005, 11h56
  2. quel SGBD possible pour telle gestion des droits
    Par meufeu dans le forum Décisions SGBD
    Réponses: 11
    Dernier message: 14/04/2005, 09h17
  3. gestion des droits d'accès : pg_hda.conf et autres
    Par Pigoulou dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 12/02/2005, 07h57
  4. Gestion des droits
    Par totop dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 22/01/2005, 09h49
  5. Gestion des droits d'accès
    Par soulryo dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 12/01/2005, 10h50

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