私のアプリで認証を処理する方法は、認証の背後にあるすべてのものを100%入れてから、特定の例外を指定することです。Symfony2の認証をバイパスする "welcome"ページ
これらの例外にはログインページと他のいくつかのページが含まれます。 1つの部分を除いて、すべてが正常に動作しています:「デフォルト」ページ、またはそれを呼び出したいもの。明らかに、私のサイトの一番上のページを見るために人々がログインする必要はありませんが、認証に必要とされないようにする方法はわかりません。ここで
は私のウェルカムページのための私のルートです:
_welcome:
pattern:/
defaults: { _controller: VNNPressboxBundle:User:welcome }
ここに私のapp/config/security.yml
です:
access_control:
- { path: ^/_welcome, roles: IS_AUTHENTICATED_ANONYMOUSLY }
にもかかわらず、私は:
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 }
関連部分、もちろん、これですそのように設定されていると、ウェルカムPAに行くときにログイン画面が表示されるge(そしてそれによって私はhttp://myapp.com/app_dev.php/user/welcome
と対照的にhttp://myapp.com/app_dev.php
を意味する)。私は何が欠けていますか?
ちょうどその最初の行が私のためにやったようでした。ありがとう! (もし私が両方の線を使っていたら、それはうまくいかなかった) –