Symfony 3.4 - Служба «Symfony \ Component \ Ldap \ Ldap» зависит от несуществующей службы «Symfony \ Component \ Ldap \ Adapter \ ExtLdap \ Adapter» - PullRequest
0 голосов
/ 14 декабря 2018

Редактировать: моя проблема была решена, см. Внизу поста.

Я пытался подключиться к LDAP с Symfony 3.4, и у меня возникли некоторые проблемы здесь.

Я настроил свои services.yml и security.yml, следуя документации по https://symfony.com/doc/3.4/components/ldap.html и https://symfony.com/doc/3.4/security/ldap.html , а также https://symfony.com/doc/3.4/reference/configuration/security.html

Вот мои услуги.yaml

services:
  Symfony\Component\Ldap\Ldap:
    arguments: ['@Symfony\Component\Ldap\Adapter\ExtLdap\Adapter']
    Symfony\Component\Ldap\Adapter\ExtLdap\Adapter:
      arguments:
      - host: myaddress
        port: 389
        #encryption: tls
        options:
          protocol_version: 3
          referrals: false

А вот и мой security.yaml

security:
    providers:
      my_ldap:
            ldap:
              service: Symfony\Component\Ldap\Ldap
              base_dn: dc=corp,dc=com
              search_dn: "dc=corp,dc=com"
              search_password: password
              default_roles: ROLE_USER
              uid_key: uid
firewalls:
    dev:
        pattern: ^/(_(profiler|wdt)|css|images|js)/
        security: false
    main:
        pattern: ^/
        provider: my_ldap
        anonymous: true
        form_login_ldap:
            login_path: login
            check_path: login
            service: Symfony\Component\Ldap\Ldap
            dn_string: 'uid={username},ou=People,dc=corp,dc=com'
        logout_on_user_change: true
        logout:
            path: logout
            target: login


role_hierarchy:
    ROLE_ADMIN: ROLE_MANAGER
    ROLE_MANAGER: ROLE_USER
    - { path: ^/admin, roles: ROLE_ADMIN }
    - { path: ^/manager, roles: ROLE_MANAGER }
    - { path: ^/myaccount, roles: ROLE_USER }
    - { path: ^/, roles: IS_AUTHENTICATED_ANONYMOUSLY }

Я не знаю, почему зависимость не найдена.Я проверил пакет Ldap с композитором, и все было там.Чего мне не хватает?

Заранее спасибо за любые подсказки или ответы.

Редактировать: Мне удалось устранить мою ошибку.Мой синтаксис service.yaml был неверным, я использовал:

Symfony\Component\Ldap\Ldap:
  arguments: ['@Symfony\Component\Ldap\Adapter\ExtLdap\Adapter']
    Symfony\Component\Ldap\Adapter\ExtLdap\Adapter:
     arguments:
     #...

Где это должно было быть:

Symfony\Component\Ldap\Ldap:
  arguments: ['@Symfony\Component\Ldap\Adapter\ExtLdap\Adapter']
Symfony\Component\Ldap\Adapter\ExtLdap\Adapter:
  arguments:

Табулирование для второго сервиса было сделано плохо.

1 Ответ

0 голосов
/ 18 декабря 2018

Синтаксис services.yaml был неверен: один отступ был утерян

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...