在第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的任何表单。“
答案 0 :(得分:0)
您不需要指定控制器,但必须指定路由路径,在您的情况下是
pattern: /secured/login_check
但是您要将表单提交到/login_check
,编辑您的表单操作以包含/secure
或将其从routing.yml中删除