Типы аутентификации при переключении с System.DirectoryServices на DirectoryServices.Protocols - PullRequest
3 голосов
/ 01 июля 2011

Мне нужно знать эквивалентные значения AuthType из AuthenticationTypes для переноса из S.DS в код S.DS.P.

Я переписываю модуль подключения LDAP, который в настоящее время использует пространство имен System.DirectoryServices.Чтобы повысить совместимость с серверами, отличными от ActiveDirectory, я пытаюсь переписать весь код для использования System.DirectoryServices.Protocols (согласно рекомендации, приведенной в «Руководстве разработчика по .NET по программированию служб каталогов»). Все идет гладко, за исключениемпереход от использования перечисления AuthenticationTypes к перечислению AuthType, используемому в SD.Protocols. Мне нужно знать эквиваленты между ними, чтобы клиенты, использующие старый код, не теряли функциональность при выпуске нового кода.

эквивалентности, о которых я знаю:Нет -> ОсновнойБезопасный -> Переговоры (более или менее)Аноним -> НетSecureSocketsLayer -> установка LdapSessionOptions.SecureSocketsLayer в значение true

1 Ответ

5 голосов
/ 27 июля 2011

Похоже, что вы на правильном пути.

После некоторых исследований мне удалось отобразить почти все значения AuthenticationTypes:

Нет: AuthType.Basic

Безопасный: AuthType.Negotiate

Анонимный: AuthType.Anonymous

Подписание: LdapSessionOptions.Signing

Печать: LdapSessionOptions.Sealing

SecureSocketLayer:.SecureSocketLayer

Шифрование: то же значение, что и SecureSocketLayer

ReadonlyServer: LdapSessionOptions.LocatorFlag.WriteableRequired = false

Привязка сервера: использовать один из аргументов LdapDirectoryIgnier с полным аргументом IgnateIgnierзначение установлено в true.

FastBind: не применяется, поскольку этот S.DS.P работает на более низком уровне.

Делегирование: соответствующие настройки не найдены.Может быть, что делегирование неявное.Один из способов проверки состоит в том, чтобы преобразовать код на этой странице и посмотреть, работает ли он.

Имейте в виду, что не все не AD-серверы будут поддерживать AuthType.Negotiate, поскольку это Windowsконкретный.Есть несколько других вещей (например, некоторые значения LocatorFlag), которые также ничего не будут значить для не-AD систем.Таким образом, будьте осторожны при преобразовании кода, который предполагал подключение AD, так как некоторые предположения больше не будут безопасными.

...