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

Symfony PHP Discussion :

Droits utilisateurs, admin, credentials..


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2005
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2005
    Messages : 277
    Par défaut Droits utilisateurs, admin, credentials..
    Bonjour à tous !

    Je suis en train de faire la gestion des droits sur mon projet.
    Plusieurs petites choses ne sont pas clairs:

    - Les groupes et permissions servent ils directement $sf_user->getGuardUser()->getPermissions() ou faut il passer par une étape intermédiaires avec de fixer les crédentials ?

    - Les crédentials sont ils utilisés uniquement pour la session utilisateur?

    Exemple:
    J'ai fais un groupe Admin avec sa permission.
    Dans mon admin je veux tester si l'utilisateur à l'autorisation.
    J'ai donc voulu faire avec les permissions et groupes ; définir cela dans le security: credentials: admin

    Sauf que je pense que les credentials sont uniquement pour la session. Vrai ?

    Enfin, voila quelques questions sur la gestion des droits.
    Comment les gérez vous ?

    Commentaires, remarques.... ???

    Merci d'avance pour votre aide !

  2. #2
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Manifestement tu te base sur sfGuadr.

    En fait, cela ne change rien sur les droits.

    Tu utilises les commandes de base que tu trouves parfaitement décrites et en français dans le chapitre 13 de JobeetJob.

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2005
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2005
    Messages : 277
    Par défaut
    C'est exact. Mais ça ne répond pas à mes questions...

  4. #4
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Les groupes et permissions servent ils directement $sf_user->getGuardUser()->getPermissions() ou faut il passer par une étape intermédiaires avec de fixer les crédentials ?
    Dans sfGuard tu définis :
    • des utilisateurs
    • des groupes
    • des droits


    Un utilisateur peut être rattaché à un ou plusieurs groupes
    Un droit peut être rattaché à un ou plusieurs utilisateurs ou à un ou plusieurs groupes.

    Si l'utilisateur a le "droit" soit directement, soit indirectement, la fonction (de tête) hasCredential("droite") retournera true.

    Les crédentials sont ils utilisés uniquement pour la session utilisateur?
    Non, il sont stocké dans la base, mais la question n'est pas idiote, vu qu'il figurent dans la session pour économiser des accès à la base lors de l'exécution.

    Exemple:
    J'ai fais un groupe Admin avec sa permission.
    Dans mon admin je veux tester si l'utilisateur à l'autorisation.
    J'ai donc voulu faire avec les permissions et groupes ; définir cela dans le security: credentials: admin

    Sauf que je pense que les credentials sont uniquement pour la session. Vrai ?
    pour session cf au dessus.

    pour admin, tu peux définir un utilisateur en super admin, dans ce cas, hasCredential dira amen à toutes les demandes, même sur des droits qui n'existent pas.

    Comment les gérez vous ?
    Le super admin réservé au... super admin et limité.
    Jamais de droits donnés à un utilisateur (sauf exceptionnel exception qui arrive exceptionnellement).
    Utilisateurs membre d'un groupe, groupe avec les droits.
    Plutôt un utilisateurs membre de plusieurs groupes (pour avoir tous les droits) que trop de groupes.

  5. #5
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2005
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2005
    Messages : 277
    Par défaut
    Merci pour ta réponse !!!

    Mais quand je crée un utilisateur et que je l'affecte a un groupe X et que je fais dans le security.yml : credentials: X
    Ca ne fonctionne pas... d'où ma question de session ou pas...

    Je repars faire des tests pour être sur de mes dires


    --Edit--

    Confirmation: j'ai un utilisateur qui n'appartient pas au groupe/permission X et le credentials: X ne fait rien du tout... l'utilisateur à tout de même accès à la page..

  6. #6
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Il faut bien distinguer les trois éléments gérés par sfGuard :
    • les utilisateurs
    • les groupes
    • les droits


    si tu veux donner le droit à la création d'un enregistrement dans la table turlut

    Tu vas créer le droit turlut_new
    Puis tu vas créer ton user titi
    Tu va créer le groupe des users qui peuvent ajouter dans turlut : turlut_edit_total
    Tu va attribuer le droit turlut_new au groupe turlut_edit_total
    et
    Tu va attribuer le user titi au groupe turlut_edit_total

    Maintenant le $user->hasCredential('turlut_new') sera vrai pour titi.


    (je demande l'indulgence pour les noms, il est presque 2h00..)

Discussions similaires

  1. [BOXIR2SP2 Admin]Droits utilisateurs intouvables
    Par azziz2005 dans le forum Administration-Migration
    Réponses: 7
    Dernier message: 17/05/2008, 00h40
  2. Question sur les droits utilisateurs
    Par gibet_b dans le forum Administration système
    Réponses: 5
    Dernier message: 14/06/2005, 15h24
  3. droits utilisateur
    Par estelledany dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 01/06/2005, 21h40
  4. Utiliser MySqlAdmin avec des droits utilisateurs sur XP
    Par thorgal85 dans le forum Outils
    Réponses: 2
    Dernier message: 18/03/2005, 12h19
  5. [SQL Server 2k] Droits utilisateurs + tables système
    Par guignol dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 05/07/2004, 09h12

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