outakeshi
2015-07-07 09:03
大师们好,<form action="{{ path('login_check') }}" method="post" class="form-horizontal" >里这个login_check我在url里输入它会报错,点了login按钮提交表单也会报同样的错。在src/bundle下的routing.yml里没有指定这个login_check的控制器,仅是写了个pattern:login_check,而且在控制器里也没有login_check的代码。问了客户他们说这个是现在在跑的代码没有问题,请问还有什么方法是能实现此login_check功能的,代码太繁杂,看不懂了,望指教。(附截图)
这么说也不是特别正确,默认环境下也是有login_check的,但一般不单独使用,如果没有找到这个方法你可以用router:debug调试一下是不是有这个路由。
你是自己实现的login流程还是用的FosUserBundle?如果你是用的FosUserBundle的话你是不需要去自己定义login_check的,这个路由是被包括在这个Bundle里的。
找到原因了,貌似是在那个security.yml文件里写的一些验证,把里面的代码用原本开发的人备份的security.yml.manager里的代码复制过去就可以进行登陆验证了,具体怎么运行的流程还是不明白,验证的逻辑应该是在其他文件里定义的。今天花好几个小时看了大师的视频,发现大师的视频里没有service那个文件夹。但是在我要改的程序里有这个文件,在控制器里有调用到这个东西。代码还是看的不太明白,附图给大师瞧瞧望大师指点这个地方是咋么回事。
补充一下,由于cgi的login的path和manager的login一样,故把prefix:/改为prefix:/manage ,此manage不是此错误的原因。
洪大师带你解读Symfony 2框架
20610 学习 · 245 问题
相似问题