4

symfony 2 で非常に単純な http-basic 認証を設定しようとしています。残念ながらAccessDeniedException: Access Denied、401 ではなく 500 HTTP エラー コードが表示され続け、ブラウザにユーザー名/パスワード ボックスを表示させます。

これは私のsecurity.ymlです:

jms_security_extra:
    secure_all_services: false
    expressions: true

security:
    firewalls:
        secured_area:
            pattern:    ^/
            anonymous: ~
            http_basic:
                realm: "Flow"

    access_control:
        - { path: ^/flow/checkout/, roles: ROLE_USER }

    providers:
        in_memory:
            memory:
                users:
                    user:  { password: userpass, roles: ROLE_USER }
                    admin: { password: kitten, roles: ROLE_ADMIN }

    encoders:
        Symfony\Component\Security\Core\User\User: plaintext

何が問題なのですか?

これは私が呼び出している URL です。http://local.shop/web/app_dev.php/flow/checkout

そして、これが私が得ている答えです: ここに画像の説明を入力

4

1 に答える 1

0

で試しましたpattern: .*か?

security:
    firewalls:
        secured_area:
            pattern: .*
            anonymous: ~
            http_basic:
                realm: "Flow"

ファイアウォールがバイパスされ、アプリケーションの「セクション」に直接アクセスしようとしていると思いますが、認証されていない場合はアクセスできません

「古い」パスを使用して、その要求が url に対するものである場合にのみ、「要求を考慮する」ようにファイアウォールに要求します/(つまり、/foo または /foo/bar または /foo/bar/foobar が傍受されないことを意味します) 。

アップデート

[2013-03-18 09:20:48] event.DEBUG: Notified event "kernel.request" to listener "Symfony\Component\Security\Http\Firewall::onKernelRequest". [] []
[2013-03-18 09:20:48] security.INFO: Populated SecurityContext with an anonymous Token [] []
[2013-03-18 09:20:48] security.INFO: No expression found; abstaining from voting. [] []
[2013-03-18 09:20:48] event.DEBUG: Notified event "kernel.exception" to listener "Symfony\Component\Security\Http\Firewall\ExceptionListener::onKernelException". [] []
[2013-03-18 09:20:48] security.DEBUG: Access is denied (user is not fully authenticated) by "/var/www/html/cm/vendor/symfony/symfony/src/Symfony/Component/Security/Http/Firewall/AccessListener.php" at line 73; redirecting to authentication entry point [] []
[2013-03-18 09:20:48] security.DEBUG: Calling Authentication entry point [] []

これは、カーネルが「must-have-auth」リソースのリクエストをインターセプトしたときのログの例です。

于 2013-03-08T11:52:44.213 に答える