我試圖建立一個登錄系統使用學說實體提供者,但我總是得到這樣的錯誤:實體提供者:無編碼器已經配置了帳戶
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