我使用Spring Data LDAP和Spring Boot为嵌入式UnboundID服务器提供开箱即用的支持.但是,当我使用Spring Data LDAP的@Entry注释时,我需要根据我是使用嵌入式UnboundID LDAP服务器还是远程Active Directory服务器在注释中指定不同的基础.
我试图通过指定以下内容来使用SpEL和基于配置文件的属性执行此操作:
@Entry(base = "${ldap.person.base}",...)
然后我有一个application.propreties与ldap.person.base = OU = AD Person Base和application-embedded.properties with ldap.person.base = OU = Embedded Person Base.
但是,@ Entry注释似乎不支持SpEL评估:
javax.naming.InvalidNameException: Invalid name: ${ldap.person.base}
Spring LDAP中有一个open issue添加了对此的支持,但有没有任何解决方法或其他方式我可以实现这一点,直到Spring LDAP支持它?
EmbeddedLdapAutoConfiguration和LdapAutoConfiguration都使用LdapProperties对象在bean创建期间设置LdapContextSource的各种属性,包括其基础.据我所知,如果设置了LdapContextSource.base,则不必为代码库中的每个@Entry定义它.
如果你没有使用自动配置,并且我的假设是正确的,你仍然应该能够创建自己的LdapContextSource bean并根据Spring属性将其基数设置为所需的值.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。