1

私は Symfony を初めて使用し、データベースからユーザーのログイン フォームを作成しようとしています。

これまでのところ、login_check をファイアウォールの背後に置く必要があり、そのためのコントローラーを作成しない必要があることはわかっていますが、それでもこのエラーが発生します。

An exception has been thrown during the rendering of a template ("Route "login_check" does not exist.") in EventBundle:Security:login.html.twig at line 11.

私のsecurity.yml:

jms_security_extra:
secure_all_services: false
expressions: true

security:
  encoders:
    SocialGeo\EventBundle\Entity\User:
      algorithm: sha512
      encode-as-base64: true
      iterations: 10

  role_hierarchy:
    ROLE_USER: ROLE_USER
    ROLE_DISTRICTWORKER: ROLE_USER
    ROLE_CITYWORKER: ROLE_DISTRICTWORKER
    ROLE_ADMIN: ROLE_CITYWORKER
    ROLE_SUPERADMIN: ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH

  providers:
    administrators:
      entity: { class: SocialGeo\EventBundle\Entity\User, property: username }

  firewalls:
    main:
      pattern: /.*
      form_login: 
        login_path: /login
        check_path: /login_check
        remember_me: true
      logout:
        path: /logout
        target: /
      security: true
      anonymous: true

ルーティング.yml:

EventBundle_login:
  pattern: /login
  defaults: { _controller: EventBundle:Security:login }
  requirements:
    _method: GET|POST

EventBundle_login_check:
  pattern: /login_check

EventBundle_logout:
  pattern: /logout

私の小枝のテンプレート:

{% extends 'EventBundle::layout.html.twig' %}

{% block title %}Login{% endblock %}

{% block body %}

{% if error %}
<div>{{ error.message }}</div>
{% endif %}

<form action="{{ path('login_check') }}" method="post">
    <label for="username">Username</label>
    <input id="username" type="text" name="_username" value="{{ last_username }}" />
    <label for="password">Password</label>
    <input id="password" type="password" name="_password" />
    <input type="submit" name="login" />
</form>

{% endblock %}

このエラーが発生する理由を知っている人はいますか?

4

2 に答える 2

0

私はちょうどそれを修正したと思います。

routing.yml から「EventBundle」プレフィックスを削除すると機能しました。

このような:

login:
 pattern: /login
 defaults: { _controller: EventBundle:Security:login }
 requirements:
   _method: GET|POST

login_check:
 pattern: /login_check

logout:
 pattern: /logout
于 2013-08-22T01:46:52.963 に答える