Как настроить маппинг полей в зависимости от сервера LDAP?

В разных LDAP серверах сущности пользователя и его поля называются по-разному. Поэтому универсальной настройки нет, настраивается в зависимости от типа подключенного сервера. Примеры настройки:

[ldap]
user = dc=Manager,dc=example,dc=org
password = samplepassword
suffix = dc=example,dc=org
user_tree_dn = ou=Users,dc=example,dc=org
user_objectclass = inetOrgPerson
group_tree_dn = ou=Groups,dc=example,dc=org
group_objectclass = groupOfNames

Поля сущности пользователя и групп сопоставляются отдельно:

[ldap]
user_id_attribute      = cn
user_name_attribute    = sn
user_mail_attribute    = mail
user_pass_attribute    = userPassword
user_enabled_attribute = userAccountControl
user_enabled_mask      = 2
user_enabled_invert    = false
user_enabled_default   = 512
user_default_project_id_attribute =
user_additional_attribute_mapping =

group_id_attribute     = cn
group_name_attribute   = ou
group_member_attribute = member
group_desc_attribute   = description
group_additional_attribute_mapping =

Описывать все атрибуты необязательно, достаточно указать лишь необходимые.

Обратите внимание на разницу указание параметров в зависимости от типа сервера:

  • Windows Server AD:

    user_pass_attribute = unicodePwd
    
  • OpenLdap и Samba:

    user_pass_attribute = userPassword
    

Также важно учитывать перечень устаревших параметров:

user_allow_create = False
user_allow_update = False
user_allow_delete = False

Указывать данные параметры не нужно.