在LDAP搜索过滤器中严格小于运算符?

Jon*_*oni 11 ldap

在LDAP搜索过滤器运算符的所有引用中,我找到<="小于或等于"和>="大于或等于".

真的没有"严格不足"的运营商吗?我必须写attribute < threshold如下吗?(阈值是固定值.)

(&(attribute <= threshold)(!(attribute = threshold))) 
Run Code Online (Sandbox Code Playgroud)

在我目前的情况下,属性值是表示日期的整数,例如201202171618532012-02-17 16:18:53.

Jör*_*ann 15

另一个简单的解决方法是反转条件.如果你需要

(attribute < threshold)
Run Code Online (Sandbox Code Playgroud)

那么这也可以写成

!(attribute >= threshold)
Run Code Online (Sandbox Code Playgroud)


Ter*_*ner 5

有关搜索过滤器类型的定义,请参阅 RFC4511。过滤器的类型有:

  • equalMatch AttributeValueAssertion,
  • 子字符串子字符串过滤器
  • 更大或等于 AttributeValueAssertion
  • lessOrEqual AttributeValueAssertion
  • 当前属性描述
  • approxMatch AttributeValueAssertion
  • 可扩展匹配匹配规则断言

不仅没有 '<' 过滤器,>=并且 和<=中的相对值由排序规则定义,因此除非treshold具有1.3.6.1.4.1.1466.115.121.1.27语法和integerOrderingMatch排序规则,否则进行相对值比较可能不是预期的。