0

我正在按照位于https://github.com/FriendsOfSymfony/FOSUserBundle/blob/master/Resources/doc/index.md的 FOSUserBundle 安装指南

我的安全文件:

security:
    encoders:
        FOS\UserBundle\Model\UserInterface: sha512

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

    providers:
        fos_userbundle:
            id: fos_user.user_provider.username_email

    firewalls:
        dev:
            pattern:  ^/(_(profiler|wdt)|css|images|js)/
            security: false

        main:
            pattern: ^/
            form_login:
                provider: fos_userbundle
                csrf_provider: form.csrf_provider
            logout:       true
            anonymous:    true

    access_control:
        - { path: ^/admin/, role: ROLE_ADMIN }

但是在完成所有步骤后,我收到一个错误:

ServiceNotFoundException: The service "security.authentication.manager" has a dependency on a non-existent service "fos_user.user_provider.username_email".

可能是什么原因造成的?

4

2 回答 2

4

您正在使用没有 username_email 提供程序的 FOSUserBundle 1.0。通过将 composer.json 更改为:“friendsofsymfony/user-bundle”:“dev-master”,升级到 FOSUserBundle 2.0,

2.0 版本中有很多好东西,包括一堆有用的事件。不幸的是,它从未作为稳定版本正式发布。因此是 dev-master 版本。

于 2013-05-21T21:55:58.720 回答
0

无法重现这个。也许这是神奇的“依赖服务”错误之一。上次我们通过删除整个供应商目录和 composer.lock 文件并重新运行 composer update 命令来摆脱这个问题。也许值得一试。

于 2013-05-21T21:30:18.973 回答