Я использую Spring Security ActiveDirectoryLdapAuthenticationProvider
с Spring Boot (конфигурация на основе аннотаций) для аутентификации в Active Directory и создания токенов. Все работает нормально.
Я хочу добавить некоторые интеграционные тесты, которые имитируют весь процесс, и я думал, возможно, использовать для этого встроенный сервер LDAP Spring.
Я добавил этот файл ldif, который я получил из другого примера, который нашел в Интернете.
#Actual test data
dn: dc=test,dc=com
objectclass: top
objectclass: domain
objectclass: extensibleObject
dc: local
# Organizational Units
dn: ou=groups,dc=test,dc=com
objectclass: top
objectclass: organizationalUnit
ou: groups
dn: ou=people,dc=test,dc=com
objectclass: top
objectclass: organizationalUnit
ou: people
# Create People
dn: uid=testuser,ou=people,dc=test,dc=com
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
cn: Test
sn: User
uid: testuser
password: secret
# Create Groups
dn: cn=developers,ou=groups,dc=test,dc=com
objectclass: top
objectclass: groupOfUniqueNames
cn: developers
ou: developer
uniqueMember: uid=testuser,ou=people,dc=test,dc=com
dn: cn=managers,ou=groups,dc=test,dc=com
objectclass: top
objectclass: groupOfUniqueNames
cn: managers
ou: manager
uniqueMember: uid=testuser,ou=people,dc=test,dc=com
Но это, конечно, не включает ничего из схемы Active Directory. У каждого пользователя должен быть атрибут sAMAccountName
и должен быть атрибут memberOf
, чтобы определить, к какой группе он принадлежит.
Есть ли способ сделать это похожим на активный каталог, чтобы Spring ActiveDirectoryLdapAuthenticationProvider
связывался с ним с помощью имени пользователя и пароля и получал членство в группе для заполнения своих полномочий?
В противном случае, если это нежизнеспособно, есть ли другой способ издеваться над этим и провести надлежащий тест?