Авторизация через LDAP

  • Создана: 12.05.2020 10:55
  • Обновлена: 12.05.2020 11:09

Для настройки авторизации пользователей сайта тех. поддержки через LDAP-каталог (например, Active Directory, ApacheDS и др.) откройте на редактирование файл app/co/bundles/Devprom/ServiceDeskBundle/Resources/config/settings.yml и добавьте в конец следующие настройки:

fr3d_ldap:
    driver:
        host:               127.0.0.1
        port:               10389
        username:           uid=admin,ou=system
        password:           secret
    user:
        baseDn:             ou=system
        filter:             (&(objectClass=*))
        usernameAttribute:  uid
        attributes:
            - { ldap_attr: uid,  user_method: setUsername }
            - { ldap_attr: mail,  user_method: setEmail }
            - { ldap_attr: name,   user_method: setName }

security:
    encoders:
        FOS\UserBundle\Model\UserInterface: sha512
    providers:
        chain_provider:
            chain:
                providers: [fos_userbundle, fr3d_ldapbundle]
        fos_userbundle:
            id: fos_user.user_provider.username_email
        fr3d_ldapbundle:
            id: fr3d_ldap.security.user.provider
    firewalls:
        main:
            pattern: ^/
            fr3d_ldap:  ~
            form_login:
                provider: fos_userbundle
                default_target_path: /issues
                always_use_default_target_path: true
            logout:       true
            anonymous:    true
            http_basic:   false
            remember_me:
                secret:   secret
                lifetime: 31536000
                path:     /
                always_remember_me: true

Укажите параметры подключния к LDAP-каталогу:

Название параметра Назначение параметра
fr3d_ldap.driver.host Имя или адрес сервера с LDAP-каталогом
fr3d_ldap.driver.port

Номер порта LDAP-каталога, по умолчанию 389

fr3d_ldap.driver.username DN-имя учетной записи, под которой будет осуществляться подключение к LDAP-каталогу для аутентификации пользователей
fr3d_ldap.driver.password Пароль учетной записи, используемой для поиска в каталоге
fr3d_ldap.user.baseDn Общая часть DN-имен (имя каталога) в LDAP
fr3d_ldap.user.filter Фильтр запроса поиска учетных записей при аутентификации
fr3d_ldap.user.usernameAttribute Атрибут в каталоге, используемый для уникальной идентификации пользователей (uid или sAMAccountName)

Чтобы запретить пользователям самостоятельно регистрироваться на сайте и запрашивать ссылку для сброса пароля, установите параметры registration_enabled и resetting_enabled в значение false.

Пример настроек для подключения к Active Directory

fr3d_ldap:
   driver:
      host: my_ad_server.hostname.com
      username: ad_admin_user_account
      password: admin_password
      accountDomainName: DOM.hostname.com
      accountDomainNameShort: DOM # i.e. prefix you use to login.
   user:
      usernameAttribute: sAMAccountName
      baseDn: cn=Users,dc=hostname,dc=com # Use a LDAP browser to verify this.
      filter: (&(ObjectClass=Person))
      attributes:
         - { ldap_attr: samaccountname, user_method: setUsername }
         - { ldap_attr: mail, user_method: setEmail }

Решения для поддержки процессов разработки Devprom Software