服务“security.authentication.manager"依赖于不存在的服务“security.user.provider.concrete.fos_userbundle" [英] The service "security.authentication.manager" has a dependency on a non-existent service "security.user.provider.concrete.fos_userbundle"

查看:24
本文介绍了服务“security.authentication.manager"依赖于不存在的服务“security.user.provider.concrete.fos_userbundle"的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我尝试启用 FOSUserBundle 和 FOSFacebookBundle.
我在任何网址上都有一个例外.

I trying to enable FOSUserBundle as well as FOSFacebookBundle.
I've got an exception at any url.

大家有什么想法吗?

ServiceNotFoundException:服务security.authentication.manager"依赖于不存在的服务security.user.provider.concrete.fos_userbundle"

ServiceNotFoundException: The service "security.authentication.manager" has a dependency on a non-existent service "security.user.provider.concrete.fos_userbundle"

config.yml

fos_user:
    db_driver: mongodb
    firewall_name: main
    user_class: Acme\AcmeBundle\Document\User
fos_twitter:
    file: %kernel.root_dir%/../vendor/twitteroauth/twitteroauth/twitteroauth.php
    consumer_key:    ''
    consumer_secret: ''
    callback_url: ''
fos_facebook:
    file:   %kernel.root_dir%/../vendor/facebook/src/base_facebook.php
    alias:  facebook
    app_id: ''
    secret: ''
    cookie: true
    permissions: [email, user_birthday, user_location]
services:
    my.facebook.user:
        class: Acme\AcmeBundle\Security\FacebookProvider
        arguments:
            facebook: "@fos_facebook.api"
            userManager: "@fos_user.user_manager"
            validator: "@validator"
            container: "@service_container"





security:       
    factories:
      - "%kernel.root_dir%/../vendor/bundles/FOS/TwitterBundle/Resources/config/security_factories.xml"
      - "%kernel.root_dir%/../vendor/bundles/FOS/FacebookBundle/Resources/config/security_factories.xml"

    providers:
        my_fos_facebook_provider:
            id: my.facebook.user                     

    firewalls:       
        public:
          pattern:   ^/.*
          form_login:
            login_path: /login
            provider: fos_userbundle          
          fos_facebook:
            app_url: ""
            server_url: ""
            login_path: /login
            check_path: /login_check/facebook
            provider: my_fos_facebook_provider
          anonymous: true
          logout:    true

    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 }

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

推荐答案

我将 fos_userbundle id 添加到 providers 部分,现在工作正常.

I added fos_userbundle id to providers section and it works fine now.

providers:
    my_fos_facebook_provider:
        id: my.facebook.user  
    fos_userbundle:
        id: fos_user.user_manager

这篇关于服务“security.authentication.manager"依赖于不存在的服务“security.user.provider.concrete.fos_userbundle"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆