Question

Je veux tout ensemble access_control pour, mais pas pour le motif /login (et peut-être quelques routes).

Je me suis donc le chemin pour vous connecter, avec le IS_AUTHENTICATED_ANONYMOUSLY rôle. Puis-je configurer le chemin pour tout, avec le IS_AUTHENTICATED_FULLY rôle.

Le problème est que la forme de connexion est maintenant généré deux fois. Je vois deux champs de connexion, deux boutons d'envoi, et ainsi de suite.

Si je supprime les règles de access_control je n'ai pas, et le seul ensemble à un chemin comme /blog/.* et avec le rôle. IS_AUTHENTICATED_FULLY, il fonctionne très bien, le formulaire de connexion est comme il devrait être

Alors ma configuration de " vous devez être authentifié partout sauf ici " ne fonctionne pas.

est ce que j'ai essayé de le faire lorsque le formulaire de connexion est généré deux fois:

access_control:
   - { path: /login, role: IS_AUTHENTICATED_ANONYMOUSLY }
   - { path: /.*, role: IS_AUTHENTICATED_FULLY }

Quelqu'un at-il de bons exemples sur la façon de mettre en place une telle règle?

Était-ce utile?

La solution

J'ai la réponse :) Donc, si quelqu'un doit avoir ce problème, il faut aussi laisser _wdt et _profiler être accessibles de manière anonyme:)

 access_control:

       - { path: /_wdt/.*, role: IS_AUTHENTICATED_ANONYMOUSLY }
       - { path: /_profiler/.*, role: IS_AUTHENTICATED_ANONYMOUSLY }
       - { path: /login, role: IS_AUTHENTICATED_ANONYMOUSLY }
       - { path: /.*, role: IS_AUTHENTICATED_FULLY }

Autres conseils

Ne pas oublier d'ajouter ce pare-feu:

firewalls:
    dev:
        pattern:  ^/(_(profiler|wdt)|css|images|js)/
        security: false
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top