4

我是 Symfony2 的新手。我阅读了文档并看到了一些登录表单的配置 http://symfony.com/doc/current/cookbook/security/form_login_setup.html

# app/config/security.yml
security:
    # ...

    firewalls:
        default:
            anonymous: ~
            http_basic: ~
            form_login:
                login_path: /login
                check_path: /login_check

我不明白为什么在同一个防火墙中有 2 种安全方法 http_basic 和 form_login?安全系统将使用哪种方法?http_basic 或 form_login 或两者兼而有之?是多余的吗?上面的一些问题看起来很愚蠢,但 symfony2 安全组件文档似乎很差。

4

1 回答 1

3

在旧Symfony文档中有一个小提示:

当用户未通过身份验证并且有多个身份验证机制时,Symfony2 会自动定义一个默认入口点(在上面的示例中,登录表单;但如果用户发送的 Authorization HTTP 标头带有错误的凭据,Symfony2 将使用HTTP 基本入口点)。

但是在下一个版本中,当文档被重新组织时,它被减少了,我不知道为什么。

因此,我在存储库中打开了一个新问题,并提出了恢复提示的建议。symfony-docsGitHub

@WouterJ的回答引述:

该代码似乎不再像引用的段落中描述的那样工作。它似乎总是使用表单登录,除非没有发送 Authentication 标头并且 HTTP 基本凭据正确。

所以你是对的——这根本不是微不足道的。如果您想知道结论,只需关注问题即可。

于 2015-02-09T08:23:37.107 回答