簡體   English   中英

spring-ldap 如何繞過 OpenLDAP 的“唯一”覆蓋? 我如何阻止它這樣做?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM