我尝试在Symfony2应用程序中使用Symfony的内置登录功能实现登录功能。
我可以很好地访问/登录页面,但是当我输入我的用户名和密码并点击登录时,它只会将我带回/登录页面,没有任何错误消息。 如果我尝试连接错误的用户名和/或密码,或者没有,则会发生同样的事情:我被重定向到/ login而没有错误消息。
我尝试使用http_basic进行连接,但它确实有效。所以我认为我的用户提供商很好,但我不知道阻止登录工作的原因。
login.html.twig
{% extends "::layout.html.twig" %}
{% block title %}Login{% endblock %}
{% block stylesheets %}
{{ parent() }}
{% stylesheets 'bundles/seinput/css/login/*' filter='cssrewrite' %}
<link rel="stylesheet" type="text/css" charset="UTF-8" media="all" href="{{ asset_url }}"/>
{% endstylesheets %}
{% endblock %}
{% block body %}
<form action="{{ path('login') }}" method="post">
<div class="field">
<label for="username">Username:</label>
<input type="text" id="username" name="_username" value="{{ last_username }}" />
</div>
<div class="field">
<label for="password">Password:</label>
<input type="password" id="password" name="_password" />
</div>
<div class="form-button">
<button class="btn btn-success" type="submit">login</button>
</div>
{% if error %}
<div>{{ error.messageKey|trans(error.messageData, 'security') }}</div>
{% else %}
<div>No error</div>
{% endif %}
<input type="hidden" name="_target_path" value="/" />
</form>
{% endblock %}
编辑:既然提供了答案,并且因为错误来自twig文件中的一行,我删除了其他文件,以使未来读者的问题更具可读性。
答案 0 :(得分:2)
我看到你的表单有以及指向登录URL的操作,¿你可以尝试将其修改为login_check吗?
我认为你的问题就在附近
<form action="{{ path('login_check') }}" method="post">