我试图建立一个登录系统使用学说实体提供者,但我总是得到这样的错误:实体提供者:无编码器已经配置了帐户
No encoder has been configured for account "Prefix\MainBundle\Entity\Admin"
这里是我的设置:
security.yml
security:
encoders:
Prefix\MainBundle\Entity\Admin:
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: PrefixMainBundle:Admin, property: username }
firewalls:
administrators:
pattern: ^/admin/
anonymous: ~
provider: administrators
form_login:
login_path: /admin/login
check_path: /admin/login_check
access_control:
- { path: ^/admin/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/admin, roles: ROLE_ADMIN }
我有实体创建和实现的UserInterface,但我不能让它工作,它会很大,如果有人可以在此提供一些线索。
什么时候做什么动作你会得到这个错误? – cheesemacfly
始终登录操作 – Khriz
我发现问题所在。编码器的名称与提供程序中实体的名称不匹配,但作为示例名称更改错误不存在。对不起 – Khriz