Bonjour,

je suis débutante sur cake php 3 et je veux savoir quelle est la meilleure syntaxe pour donner droit de modification à l'administrateur tout seul et pas à un utilisateur normal .
merci de bien vouloir m'aider

5 réponses


Pour aborder le problème sans vraiment parler directement de CakePHP, tu as plusieurs choix :

  • Considérer que l'administrateur a toujours le même nom et qu'il n'y en a qu'un. Tu as juste à vérifier que l'utilisateur connecté a bien administrateur comme nom avant d'effectuer l'action. Si c'est géré par le biais des sessions et pas directement des cookies (hors JWT), ça ne sera pas falsifiable.
  • Créer des groupes d'utilisateurs. Tu peux créer des groupes d'utilisateurs (1:n entre Utilisateur et Groupe). Tu as juste à vérifier le groupe de l'utilisateur (administrateurs ? rédacteurs ?) avant d'effectuer l'action. Tu dois le stocker dans la session ou alors le déterminer en fonction du pseudo de la personne, par le biais d'une requête à ta base de données. Tu auras aussi à assigner les utilisateurs à des groupes.
  • Créer des permissions (pour groupes ou utilisateurs). Tu peux créer une sorte de matrice de permissions pour chaque groupe ou chaque utilisateur. Tu devras alors vérifier que l'utilisateur a la permission d'effectuer l'action (par exemple $user->allowedTo('ecrire_article')). C'est la solution que je conseillerai (la plus modulaire possible !) mais elle nécessite un petit peu plus de travail ! L'avantage est que tu pourras plus finement gérer qui peut faire quoi depuis ton backend.
Houdette
Auteur

Merci flan mais j'ai vraiment besoin de plus de détail sur la création des permissions parce que je suis débutante

Tu as déjà une table pour tes utilisateurs et tes groupes ou pas encore ?

Houdette
Auteur

oui j'ai une table user j'ai 2 types utilisateur standard et admin

Si tu débutes vraiment, base-toi sur le nom de l'utilisateur connecté pour gérer tes permissions !
Sinon, tu peux regarder du côté de CakeACL pour avoir un module de gestion des permissions.