我有一个正在开发的网站,其结构如下:
public_html/
index.php
symfony_app/
other_app/
目前,我在开发测试阶段拥有基本 HTTP 身份验证背后的站点根目录。我不明白为什么我对有效用户(myusername)的 Symfony2 身份验证总是重定向到 Symfony 登录页面。在成功登录 Symfony 后的日志中
security.INFO: User "myusername" has been authenticated successfully [] []
我发现:
security.INFO: Basic Authentication Authorization header found for user "otherusername" [] []
..这是站点根目录中 .htpasswd 所需的用户。因此,由于缺少更好的术语,我似乎对嵌套 http 身份验证有疑问。
是否有可能让一个 Symfony 应用程序生活在 http auth 后面而不会两者发生冲突?
安全.yml
jms_security_extra:
secure_all_services: false
expressions: true
security:
encoders:
My\UserBundle\Entity\User:
algorithm: sha1
encode_as_base64: false
iterations: 1
role_hierarchy:
ROLE_ADMIN: ROLE_USER
providers:
administrators:
entity: { class: MyUserBundle:User }
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
login:
pattern: ^/login$
security: false
secured_area:
pattern: ^/
http_basic: ~
form_login:
login_path: login
check_path: login_check
always_use_default_target_path: true
logout:
path: /logout
switch_user: true
access_control:
- { path: ^/, roles: ROLE_USER, requires_channel: https }