как можно использовать сервис из комплекта в корневой комплект безопасности security.yml - PullRequest
0 голосов
/ 31 января 2019

Я пытаюсь использовать службу, принадлежащую другому пакету, в моем корневом комплекте, но она выдает ошибку, и я не могу ее исправить

В моем базовом комплекте, в файле security.yml, который яЯ использую библиотеку lexik jwt, и я должен передать ей провайдера.У меня есть тот пользовательский провайдер, определенный в services.yml в другом пакете, я настроил этот пакет, и консоль находит его правильно.Ошибка происходит, когда я вызываю службу из основного пакета, консоль выдает ошибку, в которой говорится, что она не может найти ее

Это ошибка консоли:

[Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException]                                                                                          
  The service "security.authentication.manager" has a dependency on a non-existent service "security.user.provider.concrete.api_bundle.security.auth_user_provider". 

Это моя безопасность.yml:

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

    providers:
        fos_userbundle:
            id: fos_user.user_provider.username
    firewalls:
        login:
            pattern:  ^/signin
            stateless: true
            anonymous: true
            form_login:
                check_path:               /signin
                success_handler:          lexik_jwt_authentication.handler.authentication_success
                failure_handler:          lexik_jwt_authentication.handler.authentication_failure
                require_previous_session: false
        language_culture:
            pattern: ^/languageCultures
            security: false

        webooks:
            pattern: ^/webhooks
            security: false

        api:
            pattern: ^/
            security: true
            stateless: true
            provider: api_bundle.security.auth_user_provider
            guard:
                authenticators:
                    - lexik_jwt_authentication.jwt_token_authenticator

        default:
            pattern: ^/
            anonymous: true
            logout:
                path: /logout
                target: /
        dev:
            pattern:  ^/(_(profiler|wdt)|css|images|js)/
            security: false

    access_control:
        - { path: ^/signin, roles: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/,       roles: IS_AUTHENTICATED_FULLY }

и это мой сервис ApiBundle.yml:

services:

    api_bundle.security.auth_user_provider:
        class: Yey\ApiBundle\Security\AuthUserProvider
        arguments:
            - '@yey.core.repository.user'
        public: true

что не так с моей конфигурацией?

...