Symfony2 - 无法在登录表单的页面上提交其他表单

时间:2016-10-13 08:54:52

标签: forms symfony login form-submit firewall

当我为登录表单创建防火墙区域时,我突然无法在该页面上提交其他表单。

在我的情况下,在联系人页面中,我已经联系我们表格并且工作正常,但是当我将其添加到security.yml时:

firewalls:
    contacts:
        pattern:    ^/contacts
        anonymous:  ~
        provider:   main
        context:    primary_auth
        form_login:
            login_path:             /contacts
            check_path:             /contacts
            default_target_path:    /authorization
        remember_me:
            secret: '%secret%'
            lifetime: 31536000

我的联系表单停止工作(无法提交)。当我按提交按钮$contactForm->isSubmitted()$contactForm->isValid()时,两者都返回false

主页中出现同样的问题。如果我在主页的防火墙中添加登录表单配置,我的注册表单将停止工作。

也许有人有同样的问题,知道解决方案吗?

1 个答案:

答案 0 :(得分:1)

您的配置已将check_path置于防火墙之后,因此,为了执行登录检查,用户必须已登录。

将您的配置更改为/login-check中未包含的pattern路径:

firewalls:
    contacts:
        pattern:    ^/contacts
        # ..
        form_login:
            login_path:             /login
            check_path:             /login-check
            # ..