我是symfony 2.5.6的初学者,我想使用我自己的表单登录,所以这是我的twig代码:
{% extends "FOSUserBundle::layout.html.twig" %}
{% trans_default_domain 'FOSUserBundle' %}
{% block fos_user_content %}
{% if error %}
<div>{{ error.messageKey|trans(error.messageData, 'security') }}</div>
{% endif %}
{% block body %}
<div class="login">
<h1>Login</h1>
<form action="{{ path("fos_user_security_check") }}" method="post">
<input type="hidden" name="_csrf_token" value="{{ csrf_token }}" />
<input type="text" placeholder="Username" id="username" name="_username" required="required" />
<input type="password" placeholder="Password" id="password" name="_password" required="required" />
<button type="submit" id="_submit" name="_submit" class="btn btn-primary btn-block btn-large">Let in now.</button>
</form>
</div>
{% endblock %}
{% endblock fos_user_content %}
搜索后,我想在此链接中使用此代码:Symfony FOSUserBundle - include login form in layout template
在我自己的控制器中我把这段代码:
public function getTokenAction()
{
return new Response($this->container->get('form.csrf_provider')
->generateCsrfToken('authenticate'));
}
现在我以“twig file”的形式添加此内容:
<form action="{{ path("fos_user_security_check") }}" method="post">
<input type="hidden" name="_csrf_token" value="{% render('YourBundle:YourController:getToken') %}" />
<input type="text" placeholder="Username" id="username" name="_username" required="required" />
<input type="password" placeholder="Password" id="password" name="_password" required="required" />
<button type="submit" id="_submit" name="_submit" class="btn btn-primary btn-block btn-large">Let me in.</button>
我收到此错误:
在渲染模板期间抛出了异常(“No 找到“GET YourController:getToken”“)的路线
我知道我需要在我的路由文件中使用它:
myproject_homepage:
path: /hello2
defaults: { _controller: myproject:Default:getToken }
但是,如果我这样做生病不能回到我的树枝病,只需从hello2链接获取一个值:(
请帮助我,我该怎么办?
先谢谢你