以下登录表单教程 - 不工作

时间:2012-06-10 21:32:39

标签: php symfony

在第156-157页的symfony2书中有一个很好的教程,介绍如何使用表单创建自己的登录系统。

当我按照这些步骤操作时,我遇到了“找不到”POST / login_check“”错误消息的路径。

security.yml:

secured_area:
    pattern:    ^/secured/
    form_login:
        login_path: /login
        check_path: /secured/login_check
    logout:
        path:   /secured/logout
        target: /login

的routing.yml:

login:
    pattern: /login
    defaults: { _controller: MySecurityBundle:Security:login }
login_check:
    pattern: /secured/login_check

任何人都可以告诉我为什么我的不起作用而且sensioLabs显然有效吗?

我能看到的唯一区别是我删除了Acme软件包并创建了一个带有安全性的新软件包,按照教程复制粘贴所有文件(我认为ACME是一个演示包而不是安全等功能所必需的? )。

我没有为login_check路由设置默认路由,因为教程在第156页上说“你不需要为/ login_check URL实现一个控制器,因为防火墙会 自动捕获并处理提交到此URL的任何表单。“

1 个答案:

答案 0 :(得分:0)

您不需要指定控制器,但必须指定路由路径,在您的情况下是

pattern: /secured/login_check

但是您要将表单提交到/login_check,编辑您的表单操作以包含/secure或将其从routing.yml中删除