Этот синтаксис критериев 1.2.840.113556.1.4.1941:=CN=MatchedRuleChainExample
неверен.
Строковое представление расширяемого фильтра соответствий LDAP должно состоять из следующих компонентов по порядку:
- Открывающая скобка
- Имя типа атрибута или пустая строка, если она не была указана
- Строка ": dn", если установлен флаг dnAttributes, или пустая строка, если нет
- Если aимеется соответствующий идентификатор правила, затем строка, состоящая из двоеточия, за которым следует этот OID, или пустая строка, если нет соответствующего идентификатора правила
- Строка ": ="
- Строковое представлениезначения утверждения
- Закрывающая скобка
Подводя итог, она должна выглядеть следующим образом:
([<attr>][:dn][:<OID>]:=<assertion>)
# In your case, fixing the attribute position :
(cn:1.2.840.113556.1.4.1941:=MatchedRuleChainExample)
Но здесь есть еще одна проблема: LDAP_MATCHING_RULE_IN_CHAIN
работает только при использовании с атрибутами типа «Отличительные имена (DN)» (например, member
или memberOf
, которые обычно используются с расширяемым фильтром совпадений), но cn
- нет, поэтому он не может работать.
Чтобы захватить все Security Groups
член CN=My Example
, вкл. Чтобы использовать вложенные группы, используйте атрибут memberOf
с расширяемым соответствием и примените его к группе dn .
# Fixing the attribute type and assertion value :
(memberOf:1.2.840.113556.1.4.1941:=<groupDN>)
Кроме того, вам нужно отфильтровать objectClass
, чтобы сопоставлять только записи группы(членами группы также могут быть пользователи или машины). В итоге критерии фильтра должны выглядеть следующим образом:
(&(objectClass=groupOfNames)(memberOf:1.2.840.113556.1.4.1941:=CN=My Example,OU=Security Groups,OU=Groups,DC=myserver,DC=com))
cf. Группа Active Directory, связанные запросы
Обратите внимание, что LDAP_MATCHING_RULE_IN_CHAIN
доступно только на контроллерах домена с Windows Server 2003 R2 (или выше).