Вам не хватает uid_key
в определении ldap:
security:
providers:
my_ldap:
ldap:
service: Symfony\Component\Ldap\Ldap
base_dn: 'DC=maxcrc,DC=com'
search_dn: 'CN=manager,DC=maxcrc,DC=com'
search_password: 'secret'
default_roles: ROLE_USER
uid_key: 'samaccountname'
Кроме этого, у меня есть следующие настройки:
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
main:
anonymous: ~
form_login_ldap:
service: Symfony\Component\Ldap\Ldap
login_path: login
check_path: login
dn_string: '%env(ADLDAP_BASEDN)%'
query_string: '(samaccountname={username})'
logout:
path: /logout
target: login
Соответствующими будут dn_string
и query_string
. Не уверен, что все это необходимо, я впервые использую Symfony.
ADLDAP_BASEDN
определяется в моем .env
файле как:
ADLDAP_BASEDN=DC=blah,DC=example,DC=com
редактировать
Извините, я неправильно понял ваш вопрос, почему-то я думал, что вы проходите проверку подлинности в Active Directory. Для openldap ключ uid должен быть uid
, что, скорее всего, является значением по умолчанию. Но ваша строка dn_string выглядит неправильно для меня, и, возможно, query_string
также необходима. Я соответственно отредактирую ответ завтра, когда меня не будет на моем телефоне.