0

我有一个正在开发的网站,其结构如下:

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 }
4

0 回答 0