空白(空)属性的 LDAP 过滤器

标签 ldap

我已经搜索过这个主题,但我找到的只是返回不存在某个属性的条目的过滤器,例如:

(!(manager=*))

但是,我想查找属性存在但具有空值(即空/空白字符串)的条目。我可以使用 LDAP 过滤器执行此操作吗?如果可以,如何执行?

编辑:

只是为了确认,上面的过滤器会找到没有属性的条目,但不会找到属性为空(空字符串)的条目。

这是依赖于 LDAP 实现还是什么?

最佳答案

从 LDAP 中,没有确定空字符串的查询方法。

最佳做法是将您的数据输入擦洗到 LDAP,因为 LDAP 中的空值或空值根本没有值。

要确定这一点,您需要使用值 (manager=*) 查询所有内容,然后使用代码来确定哪些是“空格”或空值。

正如 Terry 所说,在 DN 语法的属性中存储空值或空值是错误的。

某些 LDAP 服务器实现将不允许输入不存在 DN 条目的 DN。

也许,如果您的 DN 一致,您可以使用以下内容:

(&(!(manager=cn*))(manager=*))

这应该返回 manager 的任何值,其中有 manager 的值并且它不以“cn”开头。

但是,某些 LDAP 实现不允许对 DN 语法属性进行子字符串搜索。

-吉姆

关于空白(空)属性的 LDAP 过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14441529/

相关文章:

java - 使用 Mac OSX 获取当前用户的 Active Directory 域名

c# - Active Directory - 检查用户名/密码

linux - 如何使用 ANT 任务在 Linux 中运行 LDAP 删除条目工具

java - LDAP 请求挂起 15 秒

php ldap_search() : Search: Operations error

java - 用 Java 清理 LDAP 查询

eclipse - 为 JPA 项目设置与 ldap oracle 服务器的连接

python - 使用 python + ldap 对事件目录进行身份验证

C# Winform登录使用windows'user

java - 使用 Java 进行 LDAP 身份验证