尝试将我的Symfony项目从2.2升级到2.3
这还要求我升级以下软件包:


JMS / SecurityExtraBundle从1.4。*到1.5。*
JMS / DIExtraBundle从1.3。*到1.4。*
FOS / UserBundle从1.3.1到1.3。*
FOS / FacebookBundle从1.1.0到1.2。*


成功运行composer update和cache:clear后,项目的主页正常加载,但是尝试通过常规登录表单登录时出现错误:

从服务器收到重复的标头
服务器的响应包含重复的头。此问题通常是网站或代理配置错误的结果。只有网站或代理管理员可以解决此问题。
错误350(net :: ERR_RESPONSE_HEADERS_MULTIPLE_LOCATION):收到多个不同的位置标头。不允许这样做以防止HTTP响应拆分攻击。

我试图查看文档中的更改,但还没有高兴。
我仍然不确定错误的含义是什么或如何开始排除故障并修复它。

更新
据我所知,config.yml和security.yml与上述捆绑软件版本的文档内联。我放弃了我的自定义提供商。我仍然遇到相同的错误。我加入了pastebins的链接,希望有人能发现我错过的东西。


security.yml:http://pastebin.com/0DXraUeW
config.yml:http://pastebin.com/N1BDL1Um


我仍在研究Symfony一般如何/在哪里设置标头,尤其是在设置login_check的标头的位置。欢迎反馈:)

最佳答案

我需要为每种登录类型指定一个唯一的check_path。

#security.yml
firewalls:
    main:
        form_login:
            ...
            check_path: /login_check
        fos_facebook:
            ...
            check_path: /loginFb
        bit_google:
            ...
            check_path: /loginGoogle


并添加匹配的路线:

#routing.yml
_security_check:
    pattern:  /loginFb

_security_google:
    pattern:  /loginGoogle

关于symfony - 升级到Symfony 2.3-从服务器收到重复的头,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19613357/

10-15 12:35