Если вы хотите использовать альтернативные имена связывания, такие как userPrincipalName (имя_пользователя @ realm) с помощью openLDAP, вам понадобится переписывание/повторный набросок slapo-rwm с версией 2.4.
Очень простой пример был бы:
# Typed and not tested!
rwm-rewriteEngine on
rwm-rewriteContext addName
rwm-rewriteRule "(.*)" "userPrincipalName=$1" ":"
rwm-rewriteMap ldap upn2dn "ldap://host/dc=my,dc=org?dn?sub"
rwm-rewriteContext bindDN
rwm-rewriteRule ".*" "${upn2dn($0)}" ":@I"
EDIT
В ответе на этот вопрос в своем комментарии: LDAP как протокол не имеет понятия уникальности, это особенность продукта. Например, с помощью OpenLDAP вы можете использовать уникальный оверлей для обеспечения уникальности для определенных типов атрибутов в подходящих бэкэндах. С помощью phpLDAPAdmin вы можете настроить типы атрибутов, которые должны быть проверены на уникальность этого клиента.
OpenLDAP - это сервер LDAP. ActiveDirectory - еще один. «Таким образом, подключение к серверу OpenLDAP в качестве активного каталога» бессмысленно. OpenLDAP не поддерживает 'username @ domain' как имя связывания. Вы должны сначала найти каталог для пользователя с этим адресом электронной почты и использовать DN этой записи как имя связывания. – EJP