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

时间:2012-02-16 10:35:12

标签: ldap

在LDAP搜索过滤器运算符的所有参考文献中,我找到<=表示“小于或等于”,>=表示“大于或等于”。

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

(&(attribute <= threshold)(!(attribute = threshold))) 

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

3 个答案:

答案 0 :(得分:14)

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

(attribute < threshold)

然后这也可以写成

!(attribute >= threshold)

答案 1 :(得分:4)

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

  • equalityMatch AttributeValueAssertion,
  • substrings SubstringFilter
  • greaterOrEqual AttributeValueAssertion
  • lessOrEqual AttributeValueAssertion
  • 现在的AttributeDescription
  • approxMatch AttributeValueAssertion
  • extensibleMatch MatchingRuleAssertion

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

答案 2 :(得分:3)

不确定真的明白。如果您想要X<100之类的内容,为什么不编码X<=99