Lassen Sie uns authentifiziert sagen, dass ich meine access_control
Block unter dem security.yml
haben:Symfony2 - set Sicherheit access_control nur zu erlauben, anonym
access_control:
- { path: ^/$, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/reset-password, roles: IS_AUTHENTICATED_ANONYMOUSLY }
In diesem Fall ist jeder homepage
und reset-password
Seiten eingeben alowed. Aber ich möchte diese Seiten nur für authentifizierte Benutzer anonym zulassen. Vollständig authentifizierte Benutzer sollten eine 403 access denied error
oder 404 page not found
erhalten.
Nach documentation mit allow_if
sollte ich sein, um Rollenausdrücke zu erstellen, um den Zugriff zu definieren. Aber wenn ich es wie folgt aus:
access_control:
- { path: ^/reset-password, allow_if: "has_role('IS_AUTHENTICATED_ANONYMOUSLY') and not has_role('IS_AUTHENTICATED_FULLY')" }
nun die Idee folgenden vollständig authentifizierte Benutzer (angemeldet) sollte nicht erlaubt werden, auf die Seite zuzugreifen und anonym sollte zugreifen können authentifiziert, aber, leider, keine von Benutzer können darauf zugreifen ...
Irgendwelche Ideen, die ich vermisse?
UPDATE
Dies habe es wie vorgeschlagen Arbeits unten durch richtige Antwort:
- { path: ^/reset-password, allow_if: "is_anonymous() and !is_authenticated()" }
Perfekt machte es gut funktionieren! '- {Pfad: ^/reset-password, allow_if:" is_anonymous() und! is_authenticated() "}' –