Frage

Ich möchte setzen access_control für alles, aber nicht für das Muster /login (und vielleicht noch ein paar Routen).

Also habe ich den Pfad zum Anmelden zuerst mit der Rolle eingerichtet IS_AUTHENTICATED_ANONYMOUSLY. Dann habe ich den Weg für alles mit der Rolle eingerichtet IS_AUTHENTICATED_FULLY.

Das Problem ist, dass das Anmeldeformular jetzt zweimal generiert wird. Ich sehe zwei Anmeldefelder, zwei Sendentasten usw.

Wenn ich die Regeln für access_control entferne, habe ich nein und stelle nur auf einen Pfad fest wie /blog/.* und mit Rolle: IS_AUTHENTICATED_FULLY, Es funktioniert einwandfrei, das Anmeldesformular ist wie es sein sollte.

Also meine Konfiguration von "Sie müssen überall überall authentifiziert sein, außer hier" funktioniert nicht.

Dies ist, was ich versucht habe, wenn das Anmeldeformular zweimal generiert wird:

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

Hat jemand gute Beispiele für die Einrichtung einer solchen Regel?

War es hilfreich?

Lösung

Also habe ich die Antwort erhalten :) Also, wenn jemand dieses Problem haben sollte, müssen Sie auch _wdt lassen, und _profiler wird anonym zugegriffen :)

 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 }

Andere Tipps

Vergessen Sie nicht, diese Firewall hinzuzufügen:

firewalls:
    dev:
        pattern:  ^/(_(profiler|wdt)|css|images|js)/
        security: false
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top