1

データベースからユーザーを取得するログインフォームを作成しようとしています。いくつかのチュートリアルを読みましたが、セキュリティ保護についてよく理解できませんでした。私はこれに従いましたが、私が行った唯一の違いは、ユーザークラスからソルトと isActive を削除したことです。残りをコピーして、データベースにテーブルを作成し、ユーザーとグループを追加しました-名前: admin、役割: ROLE_ADMIN、user_group テーブルにそれらの ID をリストしました。しかし、何をしようとしても、同じ間違いが発生します-提示されたパスワードは無効です。これを修正するのを手伝ってくれませんか? そして、おそらくいくつかのチュートリアルが役立つでしょうが、私は4-5について読みましたが、まだすべてを取得していません.

ここに私の設定ファイルがあります:

security:
   encoders:
      EM\MyFriendsBundle\Entity\User:
        algorithm:        sha1
        encode_as_base64: false
        iterations:       1

role_hierarchy:
    ROLE_ADMIN:       ROLE_USER
    ROLE_SUPER_ADMIN: [ ROLE_USER, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH ]

providers:
    administrators:
        entity: { class: EMMyFriendsBundle:User }

firewalls:
    secured_area:
        pattern:    ^/
        anonymous: ~
        form_login:
            login_path:  /login
            check_path:  /login_check

access_control:
    - { path: ^/admin, roles: ROLE_ADMIN }
4

1 に答える 1

2

データベースに保存する前に、パスワードをエンコードする必要があります。参照してください:

http://symfony.com/doc/current/book/security.html#book-security-encoding-user-password

于 2012-08-22T09:48:32.990 に答える