[英]How does spring-ldap bypass OpenLDAP's “unique” overlay? And how do I stop it from doing this?
我有一個 OpenLDAP 部署,對某些屬性(使用“唯一”覆蓋創建)具有唯一性約束,我已經使用 ldapadd 對其進行了測試並確認可以正常工作。 但是,當我使用 org.springframework.ldap.core.LdapTemplate 的“bind”方法添加沖突條目時,該條目未經驗證就被保存。
這是應該發生的,還是我的環境之一有問題? 如果它應該發生,我如何讓 spring-ldap 停止潛入唯一性約束?
這可能是由於 OpenLDAP 的一個已知問題,如果 spring 在添加條目時沒有明確添加 RDN 屬性:
http://www.openldap.org/lists/openldap-bugs/201210/msg00065.html
Spring LDAP 使用 JNDI 與 LDAP 服務器進行通信。 默認情況下,JNDI 發送 ManageDsaIT 控制。 如果設置 OpenLDAP 服務器忽略唯一覆蓋。
您可以通過設置以下環境變量來禁用此行為:
java.naming.referral=throw
使用 Spring Boot 服務時,您可以設置:
spring.ldap.base-environment:
java.naming.referral: "throw"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.