Symfony form_login不起作用,但http_basic可以

时间:2016-05-30 07:24:28

标签: php symfony login

我尝试在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文件中的一行,我删除了其他文件,以使未来读者的问题更具可读性。

1 个答案:

答案 0 :(得分:2)

我看到你的表单有以及指向登录URL的操作,¿你可以尝试将其修改为login_check吗?

我认为你的问题就在附近

<form action="{{ path('login_check') }}" method="post">