Я пытаюсь передать свою заявку на Symfony. У меня проблема с аутентификацией. С PHP я использовал этот код для проверки подключения к активному каталогу
$ldap_host = "%MY AD HOST%";
$ldap_dn = cn=srv_ldap,ou=Service,ou=Applicatifs,ou=Utilisateurs,ou=DomaineInterne,dc=mydomain,dc=pri";
$ldap_usr_dom = '@mydomain.pri';
$ldap = ldap_connect($ldap_host);
ldap_set_option($ldap,LDAP_OPT_PROTOCOL_VERSION,3);
ldap_set_option($ldap,LDAP_OPT_REFERRALS,1);
// verify user and password
if($bind = @ldap_bind($ldap, $user.$ldap_usr_dom, $password)) {
С Symfony я использовал Symfony Component Ldap:
[...]
Symfony\Component\Ldap\Ldap:
arguments: ['@Symfony\Component\Ldap\Adapter\ExtLdap\Adapter']
Symfony\Component\Ldap\Adapter\ExtLdap\Adapter:
arguments:
- host: %MY AD HOST%
port: 389
#encryption: tls
options:
protocol_version: 3
referrals: false
- config \ packages \ security.yaml
...
[...]
providers:
ad_ldap:
ldap:
service: Symfony\Component\Ldap\Ldap
base_dn: cn=srv_ldap,ou=Service,ou=Applicatifs,ou=Utilisateurs,ou=DomaineInterne,dc=mydomain,dc=pri
default_roles: ROLE_USER
uid_key: sAMAccountName
firewalls:
main:
pattern: ^/
anonymous: true
lazy: true
form_login_ldap:
provider: ad_ldap
service: Symfony\Component\Ldap\Ldap
dn_string: 'sAMAccountName={username}@mydomain.pri'
check_path: security_login
login_path: security_login
csrf_token_generator: security.csrf.token_manager
default_target_path: blog_index
У меня ошибка LdapException с сообщением: Не удалось завершите поиск с помощью dn "cn = srv_ldap, ou = Service, ou = Applicatifs, ou = Utilisateurs, ou = DomaineInterne, dc = mydomain, dc = pri", query "(sAMAccountName = jane_admin)" и фильтров "*". Ошибка LDAP была [1] Операционная ошибка.
Я пытаюсь заменить "dn_string: 'sAMAccountName={username}@mydomain.pri'" другими вещами, но это сообщение все еще появляется ...