加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

java – Spring annotation @ Entry.base不支持SpEL

发布时间:2020-12-15 01:46:43 所属栏目:大数据 来源:网络整理
导读:我使用Spring Data LDAP和Spring Boot为嵌入式UnboundID服务器提供开箱即用的支持.但是,当我使用Spring Data LDAP的@Entry注释时,我需要根据我是使用嵌入式UnboundID LDAP服务器还是远程Active Directory服务器在注释中指定不同的基础. 我试图通过指定以下内

我使用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支持它?

最佳答案
我不确定我是否在这里,但假设你在Spring Boot中使用LDAP自动配置,将spring.ldap.base属性设置为一个或另一个(OU = AD Person Base)是不够的或OU = Embedded Person Base)根据您使用的个人资料?

EmbeddedLdapAutoConfiguration和LdapAutoConfiguration都使用LdapProperties对象在bean创建期间设置LdapContextSource的各种属性,包括其基础.据我所知,如果设置了LdapContextSource.base,则不必为代码库中的每个@Entry定义它.

如果你没有使用自动配置,并且我的假设是正确的,你仍然应该能够创建自己的LdapContextSource bean并根据Spring属性将其基数设置为所需的值.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读