LDAP, которая выступает как облегчённый протокол доступа к каталогам, является «an open standard for accessing and maintaining distributed directory information services over an Internet Protocol (IP) network».
LDAP используется многими компаниями, как централизованное хранилище информации о пользователях, в том числе об их ролях безопасности, а также в качестве службы проверки подлинности. Вот почему Symfony 2.8 включает в себя новый компонент LDAP, который обеспечивает бесшовную интеграцию с компонентом безопасности Symfony.
Перед включением проверки подлинности LDAP, определить новую службу для настройки параметров подключения, такие как хост, порт, в LDAP версии, и т.д.
# app/config/services.yml services: app.ldap: class: Symfony\Component\Security\Ldap\Ldap arguments: [ "ldap.example.com" ]
Затем, вы можете использовать компонент LDAP и как user provider, и как механизм аутентификации в брандмауэре. Эти настраиваемые поля для LDAP user provider:
# app/config/security.yml security: # ... providers: app_users: ldap: service: app.ldap base_dn: dc=example,dc=com search_dn: CN=My User,OU=Users,DC=example,DC=com search_password: p455w0rd filter: (sAMAccountName={username}) default_roles: ROLE_USER
При использовании в качестве механизма аутентификации, вы можете настроить его для работы с формой регистрации или стандартной HTTP аутентификации:
# app/config/security.yml security: # ... firewalls: api: provider: app_users stateless: true pattern: ^/api http_basic_ldap: service: app.ldap dn_string: "{username}@example" backend: provider: app_users pattern: ^/admin logout: path: logout target: login form_login_ldap: service: app.ldap dn_string: CN={username},OU=Users,DC=example,DC=com check_path: login_check login_path: login
Этот компонент основан на расширении PHP LDAP, поэтому убедитесь, что это расширение PHP настроена и включена , прежде чем использовать этот компонент.
Источник: http://symfony.com/blog/new-in-symfony-2-8-ldap-component