我有一个在某些属性上具有唯一性约束的OpenLDAP部署(使用“唯一”覆盖创建),我已经使用ldapadd进行了测试,并确认它工作正常。但是,当我使用org.springframework.ldap.core.LdapTemplate的"bind“方法添加一个冲突的条目时,该条目在没有经过验证的情况下被保存。
这是应该发生的吗,还是我的某个环境有问题?如果这真的发生了,我如何让spring-ldap停止偷偷地越过唯一性约束呢?
发布于 2015-09-11 21:44:40
这可能是由于OpenLDAP的一个已知问题,如果spring在添加条目时没有显式添加RDN属性:
http://www.openldap.org/lists/openldap-bugs/201210/msg00065.html
发布于 2019-11-08 14:33:54
Spring LDAP使用JNDI与LDAP服务器进行通信。默认情况下,JNDI发送ManageDsaIT控制。如果设置,OpenLDAP服务器将忽略唯一覆盖。
您可以通过设置以下环境变量来禁用此行为:
java.naming.referral=throw使用spring启动服务时,您可以设置:
spring.ldap.base-environment:
java.naming.referral: "throw"https://stackoverflow.com/questions/27831665
复制相似问题