Я использую Spring Data LDAP, а Spring Boot предоставляет встроенную поддержку встроенного сервера UnboundID. Однако, когда я использую аннотацию Spring Data LDAP @Entry
, мне нужно указать другой base
в аннотации в зависимости от того, использую ли я встроенный сервер UnboundID LDAP или удаленный сервер Active Directory.
Я пытался сделать это с помощью SpEL и свойств на основе профиля, указав:
@Entry(base = "${ldap.person.base}", ...)
Затем у меня есть application.propreties
с ldap.person.base=OU=AD Person Base
и application-embedded.properties
с ldap.person.base=OU=Embedded Person Base
.
Однако аннотация @Entry
, похоже, не поддерживает оценку SpEL:
javax.naming.InvalidNameException: Недопустимое имя: ${ldap.person.base}
В Spring LDAP есть открытая проблема, чтобы добавить поддержку этого, но есть ли обходной путь или какой-либо другой способ сделать это, пока он не будет поддерживаться в Spring LDAP?
javax.naming.PartialResultException: Unprocessed Continuation Reference(s); remaining name '/'
, когда приложение выполняет поиск LDAP в Active Directory. Если я укажуbase="OU=Domain Users"
в своей записиPerson
, это сработает, но тогда это сломает встроенную версию. 09.05.2017