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 :

permission pour un seul user !


Sujet :

Symfony PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2020
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2020
    Messages : 275
    Points : 113
    Points
    113
    Par défaut permission pour un seul user !
    Bonjour,

    sur symfony 5 , je sais restreindre des permissions avec isGranted, dans les Routes(/annotations)
    Du coup je peux décider qu'un commercial ou un administrateur du site peut modifier un champ dans un profil qu'il consulte.
    Les utilisateurs ne peuvent que consulter un profil.
    Mais j'aimerais que l'utilsateur puisse modifier son propre profil et uniquement le sien, donc luis aussi a la permission,
    mais comment fait-on dans les routes, ce n'est pas isGranted, mais quelque chose avec l'id.

    Ou bien est-on obligé de le faire directement dans la fonction, et du coup un if (isGranted('ROLE_ADMIN') and ...

    En espérant que je me fais bien comprendre !

  2. #2
    Expert éminent sénior

    Avatar de -Nikopol-
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2013
    Messages
    2 174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Haute Marne (Champagne Ardenne)

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

    Informations forums :
    Inscription : Mai 2013
    Messages : 2 174
    Points : 11 289
    Points
    11 289
    Billets dans le blog
    5
    Par défaut
    Tu peux le faire avec les access control dans ton security.yml
    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
    # config/packages/security.yaml
    security:
        # ...
     
        firewalls:
            # ...
            main:
                # ...
     
        access_control:
            # require ROLE_ADMIN for /admin*
            - { path: '^/admin', roles: ROLE_ADMIN }
     
            # or require ROLE_ADMIN or IS_AUTHENTICATED_FULLY for /admin*
            - { path: '^/admin', roles: [IS_AUTHENTICATED_FULLY, ROLE_ADMIN] }
     
            # the 'path' value can be any valid regular expression
            # (this one will match URLs like /api/post/7298 and /api/comment/528491)
            - { path: ^/api/(post|comment)/\d+$, roles: ROLE_USER }
    https://symfony.com/doc/current/security.html

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2020
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2020
    Messages : 275
    Points : 113
    Points
    113
    Par défaut
    Pour être sûr de bien comprendre:

    sur mon application, un administrateur peut créer un profil ( supprimer etc...), le commercial aussi.
    les rôles sont renseignés par ces personnes !
    comme rôles , il y commercial, administrateur et collaborateur
    Un collaborateur peut modifier le profil qu'on a créé pour lui... mais ne peut pas aller sur la fiche d'autres collaborateurs !

    Comme je débute , je ne comprends pas très bien le 'IS_AUTHENTICATED_FULLY' .
    Une fois le collaborateur connecté ( ou un admin, ou un commercial ) il sera 'IS_AUTHENTICATED_FULLY' et après ?

    Je peux avec ça empêcher un collaborateur de bidouiller la barre de recherche du navigateur et ne pas lui donner accès à autre chose que son profil ?

  4. #4
    Expert éminent sénior

    Avatar de -Nikopol-
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2013
    Messages
    2 174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Haute Marne (Champagne Ardenne)

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

    Informations forums :
    Inscription : Mai 2013
    Messages : 2 174
    Points : 11 289
    Points
    11 289
    Billets dans le blog
    5
    Par défaut
    oui en utilisant la hiérarchisation des rôles que tu as sur la même page de la doc

Discussions similaires

  1. [2.x] Supprimer des Aces pour un seul User
    Par johnbenz dans le forum Symfony
    Réponses: 0
    Dernier message: 11/12/2011, 20h47
  2. Compo pour realiser une USer Authorisation
    Par Soulama dans le forum Composants VCL
    Réponses: 6
    Dernier message: 19/07/2005, 11h55
  3. [C#] Plusieurs LinkButton pour une seule fonction
    Par FunnyDjo dans le forum ASP.NET
    Réponses: 3
    Dernier message: 08/06/2005, 22h01
  4. [C#] [Port Com] PB de permission pour utiliser la classe
    Par dacid dans le forum Windows Forms
    Réponses: 7
    Dernier message: 04/04/2005, 11h46
  5. Réponses: 13
    Dernier message: 20/07/2004, 08h54

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