dongyao2022 2016-04-13 02:03
浏览 61
已采纳

麻烦在Symfony 3.0.4中安装FOSUserBundle

I get this error when installing FOSUserBundle on Symfony3.

[Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException] The service "security.authentication.manager" has a dependency on a non-existent service "security.user.provider.concrete.fos_userbundle". Here is my security.yml

security:

# http://symfony.com/doc/current/book/security.html#where-do-users-come-from-user-providers
providers:
    in_memory:
        memory: ~
encoders:
    FOS\UserBundle\Model\UserInterface: bcrypt

role_hierarchy:
    ROLE_ADMIN:       ROLE_USER
    ROLE_SUPER_ADMIN: ROLE_ADMIN

providers:
    fos_userbundle:
        id: fos_user.user_provider.username

firewalls:
    # disables authentication for assets and the profiler, adapt it according to your needs
    #dev:
    #    pattern: ^/(_(profiler|wdt)|css|images|js)/
    #    security: false

    main:
        anonymous: true
        pattern: ^/
        form_login:
            provider: fos_userbundle
            login_path: /login
            check_path: fos_user_security_check
            # if you are using Symfony < 2.8, use the following config instead:
            # csrf_provider: form.csrf_provider

        logout:       true
        anonymous:    true
        # activate different ways to authenticate

        # http_basic: ~
        # http://symfony.com/doc/current/book/security.html#a-configuring-how-your-users-will-authenticate

        # form_login: ~
        # http://symfony.com/doc/current/cookbook/security/form_login_setup.html

access_control:
    - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/admin/, role: ROLE_ADMIN }
    - { path: ^/chat, role: ROLE_ADMIN }

展开全部

  • 写回答

1条回答 默认 最新

  • dongyan7876 2016-04-14 01:44
    关注

    You have two providers keys in your security.yml file which means that the second one is never loaded (as specified by the YAML specs). Thus, your application doesn't know anything about the FOSUserBundle user provider, but only knows your in-memory user provider.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部