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 :

Authentification personnalisée et anonyme [2.x]


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Août 2011
    Messages
    477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2011
    Messages : 477
    Par défaut Authentification personnalisée et anonyme
    Bonjour à tous,

    J'ai réalisé une authentification personnalisée via le cookbook de Symfony
    -> http://symfony.com/fr/doc/current/co..._provider.html

    ça fonctionne correctement.

    Je souhaites que la racine du site soit accessible de tout le monde, ainsi que des utilisateurs connectés.

    J'ai ajouté l'option anonymous: true dans mon firewall mais il persiste à vouloir que l'utilisateur soit authentifié via l'authentification perso.

    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
    21
    22
    23
    security:
        firewalls:       
            secured_area:
                pattern:    ^/
                anonymous: true
                vnfcas: ~
     
     
     
        providers:
     
            users:
                entity: { class: AcmeBundle:User}
     
     
     
        access_control:
            - { path: ^/, roles: [ROLE_ADMIN, IS_AUTHENTICATED_ANONYMOUSLY,ROLE_ALLOWED_TO_SWITCH] }
     
     
     
        encoders:
            Symfony\Component\Security\Core\User\User: plaintext
    Pareil le firewall allowed_to_switch ne fonctionne pas.

    Je vous remercie par avance de votre aide.

  2. #2
    Membre émérite
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Août 2011
    Messages
    477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2011
    Messages : 477
    Par défaut
    Bonsoir,

    Je vois que je n'ai pas inspiré grand monde avec ma question.

    J'ai avancé sur le sujet mais je n'ai toujours pas la réponse.

    J'ai rajouté dans les listeners anonymous et switchuser des petits echos ainsi que dans mon listener perso.

    Et donc je constate le pourquoi anonymous et switch user ne fonctionne pas car il passe derrière mon listener perso.

    Est ce que quelqu'un sait comment modifier la priorité des listeners des firewalls ?

    J'ai essayé le tag priority="-255" dans la définition de mon listener perso mais ça n'a rien changé.

    Je vous remercie par avance.

  3. #3
    Membre émérite
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Août 2011
    Messages
    477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2011
    Messages : 477
    Par défaut
    Bonjour,

    Un petit up en haut du fil de discussion, au cas quelqu'un aurait une idée

  4. #4
    Membre émérite
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Août 2011
    Messages
    477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2011
    Messages : 477
    Par défaut
    En lisant, les conditions d'utilisation, j'ai compris que si il n'y avait pas de réponse, c'est que la question était mal posée.

    Donc, je ne suis pas resté les bras croisés et ai continué à chercher.

    C'est dans la factory que l'on indique le momment ou le listener intervient.

    la méthode getPosition, qui doit être de type pre_auth, form, http et remember_me et qui définit le moment auquel le fournisseur est appelé ;

    Quelle est la position des listeners anonymous et switch_user ?

    Pour ma factory, j'ai essayé les 3 possibilités et quelque soit l'option, elle est toujours appelé avant anonymous et switch_user

    Une idée ?

  5. #5
    Membre émérite
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2011
    Messages : 725
    Par défaut
    Bonjour,
    je ne savais pas que l'on pouvait passer des tableaux de roles dans les access_control.
    A mon avis c'est généralement inutile, on va plutôt utiliser la hierarchie des roles pour ce genre de choses (un utilisateur ROLE_ADMIN n'a pas moins de droit qu'un utilisateur IS_AUTHENTICATED_ANONYMOUSLY).

    access_control:
    - { path: ^/, roles: [ROLE_ADMIN, IS_AUTHENTICATED_ANONYMOUSLY,ROLE_ALLOWED_TO_SWITCH] }
    on dirait que cette config n'autorise que les utilisateurs ayant le role IS_AUTHENTICATED_ANONYMOUSLY et ROLE_ADMIN et ROLE_ALLOWED_TO_SWITCH

    Ta config devrait plutôt ressember à cela
    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
     
    security:
        firewalls:
            secured_area:
                # ...
                switch_user: true #on active le système du ROLE_ALLOWED_TO_SWITCH cf http://symfony.com/doc/2.0/book/security.html#impersonating-a-user
    #...
        access_control:
            - { path: ^/, role: IS_AUTHENTICATED_ANONYMOUSLY} # tout le monde
            - { path: ^/private, role: ROLE_USER}  # uniquement les utilisateurs connectés (consultation du compte, etc..)
            - { path: ^/admin/, role: ROLE_ADMIN} #uniquement pour l'admin
            # etc...
    #....
        role_hierarchy:
            ROLE_ADMIN: [ROLE_USER, ROLE_ALLOWED_TO_SWITCH] #le ROLE_ADMIN a également le ROLE_ALLOW_TO_SWITCH
    #...

  6. #6
    Membre émérite
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Août 2011
    Messages
    477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2011
    Messages : 477
    Par défaut
    Merci, pour la mise à plat de la configuration.

    Un petit rappel est toujours utile.

    Toutefois, dès que j'active mon authentification provider je passe par lui. Donc pas d'anonymous ni de switch User

    Si ça peux aider dans la compréhension, quand je vais un switch_user en mode dev, (j'ai activé la directive intercept_redirects: true ) je vois bien dans la redirection que l'utilisateur connecté est celui demandé mais dès quela je clique sur le lien rediriger -> je me retrouve en tant que moi.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 24/09/2010, 12h05
  2. Réponses: 1
    Dernier message: 02/08/2010, 15h24
  3. Réponses: 1
    Dernier message: 25/01/2006, 21h44
  4. Hook et Authentification personnalisée
    Par Jeweller dans le forum XMLRAD
    Réponses: 8
    Dernier message: 20/12/2004, 12h30
  5. XMLC_PopupCalendar - authentification personnalisée
    Par Jeweller dans le forum XMLRAD
    Réponses: 10
    Dernier message: 10/12/2004, 15h21

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