in_memory
ユーザープロバイダーからユーザーをロードする Symfony2 アプリケーションがあります。はsecurity.yml
次のとおりです。
security:
encoders:
Symfony\Component\Security\Core\User\User: plaintext
role_hierarchy:
ROLE_ADMIN: ROLE_USER
ROLE_SUPER_ADMIN: [ROLE_USER, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]
providers:
in_memory:
users:
admin: { password: mypassword, roles: [ 'ROLE_ADMIN' ] }
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
login:
pattern: ^/demo/secured/login$
security: false
secured_area:
pattern: ^/
anonymous: ~
http_basic:
realm: "MyApp Realm - Login"
access_control:
#- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY, requires_channel: https }
#- { path: ^/_internal, roles: IS_AUTHENTICATED_ANONYMOUSLY, ip: 127.0.0.1 }
- { path: ^/subscription/show, roles: ROLE_ADMIN }
- { path: ^/send, roles: ROLE_ADMIN }
私のローカル開発環境 (Mac Book Pro) では、この構成は期待どおりに機能します。routes_/send_
またはに移動すると_/subscription/show_
、Symfony はログインを要求します。資格情報adminおよびmypasswordを入力すると、ページを正しく表示できます。
しかし、実稼働環境 (Debian サーバー) では、そのルートを確認するためにログインを実行する必要がありますが、同じユーザー名とパスワードは機能しません! HTTP 基本認証のログイン プロンプトが消えることはありません。理解できません。
その構成が機能しないのはなぜですか? 全体として、ローカル環境では機能し、本番環境では機能しないのはなぜですか?
また、関連していると思われる質問も表示されます: Symfony2 plaintext users don't work。そこにリストされているすべての提案をすでに試しましたが、どれも問題を解決します。