LDAP 搜索过滤表达式

基于规则的用户组的规则基于 LDAP 搜索过滤器语法。

有关 LDAP 搜索过滤器语法的信息,请参阅 RFC2254 -“相关链接”部分中的“LDAP 搜索过滤器的字符串表示”。

您可以使用 LDAP 搜索过滤器语法的以下子集:•由和号 (&) 表示的 AND 运算符。•由竖线 (|) 表示的 OR 运算符。•由感叹号 (!) 表示的 NOT 运算符。•由名称/值表达式的等号 (=) 表示的等式比较。•由名称/值表达式中的值的开头或结尾的星号 (*) 表示的通配符。

注: 属性不得以下列其中一个运算符号:AND、OR 或 NOT(&、| 或 !),并且它们不得包含比较等号 (=) 或圆括号。

例如:(uid=testuser)与其 uid 属性的值刚好为 testuser 的所有用户相匹配。(uid=test)与其 uid 属性的值以 test 开头的所有用户相匹配。(!(uid=test))与其 uid 属性的值不以 test 开头的所有用户相匹配。(&(department=1234)(city=Paris))与其 department 属性的值刚好为 1234、city 属性的值刚好为 Paris 的所有用户相匹配。(|(department=1234)(department=56))与其 department 属性的值刚好为 1234,或者是以 56 开头的所有用户相匹配。(&(department=12)(!(department=123*)))与其 department 属性的值以 12 开头、而不是以 123 开头的所有用户相匹配。

验证语法

当您定义或修改基于规则的用户组时,基于规则的用户组适配器将验证 LDAP 搜索过滤表达式的语法。例如:指定了无效规则:如果您提供无效规则,那么基于规则的用户组将返回适当的错误消息。但是,它不会检查用户配置中是否存在您所使用的属性名称。您可以使用将调用搜索过滤器的代码来验证配置。指定了无效属性:如果规则中包含无效的属性名称,那么将无法确定基于规则的用户组的组成员资格,并且会记录错误。如果系统中的属性配置发生更改(例如,除去了属性或者已将属性重命名),那么可能会违反现有规则。

父主题: 基于规则的用户组


转载于:https://blog.51cto.com/13791715/2308264