我正在尝试创建一个登录表单,该表单将从数据库中获取用户。我读了一些教程,但我不能很好地理解安全。我遵循了这一点,唯一的区别是我从User类中删除了salt和isActive。我只是复制了其余的表,然后在数据库中创建了表,并添加了一个用户和一个组-名称:admin,角色:role_admin,并在user_group表中列出了它们的id。但无论我尝试什么,我都会遇到同样的错误——提供的密码无效。你能帮我修一下吗?也许一些教程会有所帮助,尽管我读了大约4-5篇,但我仍然没有得到所有东西。
这是我的配置文件:
security:
encoders:
EMMyFriendsBundleEntityUser:
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 }
在将密码保存到数据库之前,需要对其进行编码。请参阅:
http://symfony.com/doc/current/book/security.html#book-安全编码用户密码