データベースに対して SF2 認証を作成したいのですが、SF2 の公式ドキュメントhttp://symfony.com/doc/2.0/cookbook/security/entity_provider.htmlを使用しました。問題は、チェックが機能しないことです。方法がわからない、エラーは発生しませんでした。ユーザー情報を入力した後、同じページ/ログインにまだエラーがなく、実際にはわかりません。
security.yml
security:
encoders:
TEST\UserBundle\Entity\User:
algorithm: sha512
encode-as-base64: true
iterations: 10
role_hierarchy:
ROLE_ADMIN: ROLE_USER
ROLE_SUPER_ADMIN: [ROLE_USER, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]
providers:
main:
entity: { class: TESTUserBundle:User, property: username }
firewalls:
login:
pattern: ^/(login|reset|accueil)
anonymous: true
main:
pattern: /.*
form_login:
check_path: /check_login
login_path: /login
logout:
path: /logout
target: /login
security: true
anonymous: false
access_control:
#- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY, requires_channel: https }
#- { path: ^/_internal, roles: IS_AUTHENTICATED_ANONYMOUSLY, ip: 127.0.0.1 }
#- { path: ^/admin, roles: ROLE_ADMIN }
問題は、エラーが常に null であることです。これは私のログイン フォームです。
{% if error == 1 %}
<span class="pw-alert">E-mail et/ou mot de passe erroné(s)</span>
{% endif %}
<form action="{{ path('_security_check_user') }}" method="POST">
<div>
<label for="username">Username:</label>
<input type="email" id="username" name="_username" value="{{ last_username }}" />
</div>
<div>
<label for="password">Password:</label>
<input type="password" id="password" name="_password" />
</div>
<input type="submit" value="Se connecter" name="login"/>
</div>
</form>