我目前在尝试实现 Symfony2 说明书以利用 Doctrine 创建自定义用户提供程序时遇到一些挫折: http://symfony.com/doc/2.0/cookbook/security/entity_provider.html
这是我的 security.yml 文件:
security:
encoders:
Rep\Bundle\ProjectBundle\Model\User:
algorithm: sha1
encode_as_base64: false
iterations: 1
role_hierarchy:
ROLE_USER: ROLE_USER
ROLE_ADMIN: ROLE_USER
ROLE_SUPER_ADMIN: [ ROLE_USER, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH ]
providers:
user_db:
entity: { class: ProjectBundle:User, property: username }
firewalls:
admin_area:
pattern: ^/admin
http_basic: ~
access_control:
- { path: ^/admin, roles: ROLE_ADMIN }
这是我的错误:
明显的问题:
- 我安装了doctrine吗?是的。并在内核中注册。
- 我是否创建了用户界面和提供程序?是的。
另外,我选择构建它而不是使用 FOSUserBundle,因为它对于我的需要来说太“庞大”,所以任何帮助都是理想的!
最佳答案
问题是由于缺少 Doctrine 的配置信息而引起的,但是该 bundle 已在内核中注册。奇怪的错误消息并不表明缺少配置,但消除过程解决了我的问题。
关于Symfony2 - 缺少父定义 "doctrine.orm.security.user.provider",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12987950/