Die Art und Weise, wie ich die Authentifizierung in meiner App handhabe, ist, 100% alles hinter die Authentifizierung zu stellen und dann bestimmte Ausnahmen anzugeben.Umgehen der Authentifizierung auf Symfony2 "Willkommen" -Seite
Diese Ausnahmen umfassen die Anmeldeseite und einige andere Seiten. Alles funktioniert gut außer einem Teil: die "Standard" -Seite, oder wie immer Sie es nennen möchten. Ich möchte nicht, dass sich Leute einloggen müssen, um die Titelseite meiner Site zu sehen, aber ich weiß nicht, wie man dafür eine Authentifizierung benötigt.
Hier ist meine Route für meine Begrüßungsseite:
_welcome:
pattern:/
defaults: { _controller: VNNPressboxBundle:User:welcome }
meine hier app/config/security.yml
:
security:
encoders:
Symfony\Component\Security\Core\User\User:
algorithm: sha1
iterations: 1
encode_as_base64: false
VNN\PressboxBundle\Entity\User:
algorithm: sha1
iterations: 1
encode_as_base64: false
role_hierarchy:
ROLE_ADMIN: ROLE_USER
ROLE_SUPER_ADMIN: [ROLE_USER, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]
providers:
administrators:
entity: { class: VNNPressboxBundle:User, property: username }
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
secured_area:
pattern: ^/
form_login: ~
logout: ~
anonymous: ~
http_basic:
realm: "Secured Demo Area"
access_control:
- { path: ^/_welcome, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/user/new, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/user/create, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/user/thanks, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/user/agreement, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/user/welcome, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/user/activate, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/signup, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/admin, roles: ROLE_ADMIN }
- { path: ^/, roles: ROLE_USER }
Der relevante Teil, natürlich, ist dies:
access_control:
- { path: ^/_welcome, roles: IS_AUTHENTICATED_ANONYMOUSLY }
Auch wenn ich Wenn die Dinge so eingestellt sind, werde ich immer zum Login-Bildschirm gestartet, wenn ich versuche, zu meinem Willkommens-Pa zu gehen ge (und damit meine ich http://myapp.com/app_dev.php
im Gegensatz zu http://myapp.com/app_dev.php/user/welcome
). Was vermisse ich?
Nur diese erste Zeile schien es für mich zu tun. Vielen Dank! (Wenn ich beide Zeilen verwendet habe, hat es nicht funktioniert.) –