Безопасно ли использовать реализацию 1.2.840.113556.1.4.1941 в случае циклических зависимостей?

Прекращается ли использование 1.2.840.113556.1.4.1941 изящно, если есть циклические зависимости в dl (a -> b -> ситуация)

1 ответ

Решение

В LDAP_MATCHING_RULE_IN_CHAINOID отлично справляется с циклическими зависимостями. Это им не подавится.

Например, я рекомендовал использовать это при определении, является ли пользователь членом группы.

Подумайте, есть ли у вас такая установка:

  • Group A
    • Group B
  • Group B
    • User 1
    • Group A

И вы хотите знать, если User 1 является членом Group A. Вы бы установили базу поиска наGroup A, и используйте этот запрос:

(member:1.2.840.113556.1.4.1941:=CN=User 1,OU=Users,DC=example,DC=com)

Запрос будет успешным (он не захлебнется круговыми группами), и вы получите 1 результат (Group A), указывая, что да, User 1 является членом Group A. (Если вы не получили результатов, это будет означать, что пользователь не является членом группы)

Вы никогда не должны использовать LDAP_MATCHING_RULE_IN_CHAINусловие, не ограничивая базу поиска или не используя другие условия (например, сопоставление определенной учетной записи), в противном случае вы получите очень неэффективный запрос, выполнение которого займет вечность, потому что он должен смотреть на всю цепочку членства для каждого существующего объекта.

Другие вопросы по тегам