Поделиться через


перечисление ADS_AUTHENTICATION_ENUM (iads.h)

Перечисление ADS_AUTHENTICATION_ENUM указывает параметры проверки подлинности, используемые в ADSI для привязки к объектам службы каталогов. При вызове IADsOpenDSObject или ADsOpenObject для привязки к объекту ADSI укажите по крайней мере один из вариантов. Как правило, разные поставщики будут иметь разные реализации. Описанные здесь варианты применяются к поставщикам, предоставляемым корпорацией Майкрософт в составе пакета SDK ADSI. Дополнительные сведения см. в разделе Поставщики системы ADSI.

Синтаксис

typedef enum __MIDL___MIDL_itf_ads_0000_0000_0018 {
  ADS_SECURE_AUTHENTICATION = 0x1,
  ADS_USE_ENCRYPTION = 0x2,
  ADS_USE_SSL = 0x2,
  ADS_READONLY_SERVER = 0x4,
  ADS_PROMPT_CREDENTIALS = 0x8,
  ADS_NO_AUTHENTICATION = 0x10,
  ADS_FAST_BIND = 0x20,
  ADS_USE_SIGNING = 0x40,
  ADS_USE_SEALING = 0x80,
  ADS_USE_DELEGATION = 0x100,
  ADS_SERVER_BIND = 0x200,
  ADS_NO_REFERRAL_CHASING = 0x400,
  ADS_AUTH_RESERVED = 0x80000000
} ADS_AUTHENTICATION_ENUM;

Константы

 
ADS_SECURE_AUTHENTICATION
Значение: 0x1
Запрашивает безопасную проверку подлинности. Если этот флаг установлен, поставщик WinNT использует NT LAN Manager (NTLM) для
проверка подлинности клиента. Active Directory будет использовать Kerberos и, возможно, NTLM, для проверки подлинности клиента. When
имя пользователя и пароль имеют значение NULL, ADSI привязывается к объекту с помощью безопасности
контекст вызывающего потока, который является контекстом безопасности учетной записи пользователя, в которой находится
приложение выполняется или учетной записи пользователя клиента, которую представляет вызывающий поток.
ADS_USE_ENCRYPTION
Значение: 0x2
Требует, чтобы ADSI использовал шифрование для обмена данными по сети.

Примечание Этот параметр не поддерживается поставщиком WinNT.

 
ADS_USE_SSL
Значение: 0x2
Канал шифруется с помощью протокола SSL. Active Directory требует, чтобы сертификат
Сервер должен быть установлен для поддержки SSL.

Если этот флаг не сочетается с флагом ADS_SECURE_AUTHENTICATION и
Предоставленные учетные данные имеют значение NULL, привязка будет выполняться анонимно. Если этот флаг
объединяется с флагом ADS_SECURE_AUTHENTICATION и предоставленными учетными данными
Значение NULL, затем используются учетные данные вызывающего потока.

Примечание Этот параметр не поддерживается поставщиком WinNT.

 
ADS_READONLY_SERVER
Значение: 0x4
Контроллер домена, доступный для записи, не требуется. Если приложение только считывает или запрашивает данные из active
Каталог, этот флаг следует использовать для открытия сеансов. Это позволяет приложению воспользоваться преимуществами
Read-Only КОНТРОЛЛЕРЫ домена (RODC).

В Windows Server 2008 ADSI пытается подключиться либо к контроллерам домена Read-Only (RODC), либо к контроллерам домена с возможностью записи. This
позволяет использовать RODC для доступа и позволяет приложению выполняться в сети филиала или периметра.
(также известная как DMZ, демилитаризованная зона и экранированная подсеть), без необходимости прямого подключения к
контроллер домена с возможностью записи.

Дополнительные сведения о программировании для обеспечения совместимости RODC см. в разделе
Руководство по совместимости приложений контроллеров домена только для чтения.
ADS_PROMPT_CREDENTIALS
Значение: 0x8
Этот флаг не поддерживается.
ADS_NO_AUTHENTICATION
Значение: 0x10
Не запрашивать проверку подлинности. Поставщики могут попытаться привязать клиент в качестве анонимного пользователя к
целевой объект. Поставщик WinNT не поддерживает этот флаг. Active Directory устанавливает соединение между
клиент и целевой объект, но не будет выполнять проверку подлинности. Задание этого флага равно запросу
анонимная привязка, указывающая всех пользователей в качестве контекста безопасности.
ADS_FAST_BIND
Значение: 0x20
Если этот флаг установлен, ADSI не будет пытаться запросить objectClass.
свойство и, таким образом, предоставляет только базовые интерфейсы, поддерживаемые всеми объектами ADSI, а не полный объект
Поддержки. Пользователь может использовать этот параметр для повышения производительности в ряде операций с объектами, связанных с
только методы базовых интерфейсов. Однако ADSI не будет проверять, действительно ли какие-либо из запрошенных объектов
существует на сервере. Дополнительные сведения см. в разделе
Параметры быстрой привязки для операций пакетной записи и изменения.

Этот параметр также удобен для привязки к службам каталогов, не относящихся к Active Directory, например Exchange 5.5.
где запрос objectClass завершится ошибкой.
ADS_USE_SIGNING
Значение: 0x40
Проверяет целостность данных. Также должен быть установлен флаг ADS_SECURE_AUTHENTICATION
, чтобы использовать подписывание.

Примечание Этот параметр не поддерживается поставщиком WinNT.

 
ADS_USE_SEALING
Значение: 0x80
Шифрует данные по протоколу Kerberos. Также должен быть установлен флаг ADS_SECURE_AUTHENTICATION
для использования запечатывания.

Примечание Этот параметр не поддерживается поставщиком WinNT.

 
ADS_USE_DELEGATION
Значение: 0x100
Позволяет ADSI делегировать контекст безопасности пользователя, необходимый для перемещения объектов между доменами.
ADS_SERVER_BIND
Значение: 0x200
Если в пути LDAP передается имя DNS-сервера Active Directory, при этом выполняется поиск A-записи и
обходит любой поиск записи SRV при разрешении имени узла.

Примечание Этот параметр не поддерживается поставщиком WinNT.

 
ADS_NO_REFERRAL_CHASING
Значение: 0x400
Укажите этот флаг, чтобы отключить отслеживание рефералов на протяжении всего времени существования подключения. Однако даже при этом флаге
указано, ADSI по-прежнему разрешает настройку поведения поиска за рефералами для перечисления контейнеров при установке
использование ADS_OPTION_REFERRALS в
ADS_OPTION_ENUM (как описано в перечислении контейнеров
с погони за рефералами в
IADsObjectOptions::SetOption) И
поиск по отдельности (как описано в разделе
Погоня за рефералами с помощью IDirectorySearch).

Примечание Этот параметр не поддерживается поставщиком WinNT.

 
ADS_AUTH_RESERVED
Значение: 0x80000000
Зарезервировано.

Комментарии

Флаг ADS_SECURE_AUTHENTICATION можно использовать в сочетании с другими флагами, такими как ADS_READONLY_SERVER, ADS_PROMPT_CREDENTIALS, ADS_FAST_BIND и т. д.

Бессерверная привязка относится к процессу, в котором клиент пытается выполнить привязку к объекту Active Directory без явного указания сервера Active Directory в строке привязки. Это возможно, так как поставщик LDAP использует службы указателя Windows для поиска лучшего контроллера домена (DC) для клиента. Однако клиент должен иметь учетную запись на контроллере домена Active Directory, чтобы воспользоваться преимуществами функции бессерверной привязки, а контроллер домена, используемый бессерверной привязкой, всегда будет находиться в домене по умолчанию. то есть домен, связанный с текущим контекстом безопасности потока, выполняющего привязку.

Так как VBScript не может считывать данные из библиотеки типов, приложения VBScript не распознают символьные константы, как определено выше. Вместо этого используйте числовые константы, чтобы задать соответствующие флаги в приложениях VBScript. Чтобы использовать символические константы в качестве рекомендуемой практики программирования, напишите явные объявления таких констант, как показано здесь, в приложении visual Basic Scripting Edition.

Примеры

В следующем примере кода показано, как использовать IADsOpenDSObject для открытия объекта в fabrikam с безопасной проверкой подлинности для поставщика WinNT.

Const ADS_SECURE_AUTHENTICATION = 1

Dim dso As IADsOpenDSObject
Dim domain As IADsDomain
 
Set dso = GetObject("WinNT:")
Set domain = dso.OpenDSObject("WinNT://Fabrikam", vbNullString, vbNullString, ADS_SECURE_AUTHENTICATION)

В следующем примере кода показано, как флаг ADS_SECURE_AUTHENTICATION используется с ADsOpenObject для проверки привязки пользователя как "JeffSmith". Имя пользователя может иметь формат имени участника-пользователя: "[email protected]", а также формат различающегося имени: "CN=JeffSmith,DC=Fabrikam,DC=COM".

IADs *pObject = NULL;
HRESULT hr;
hr = ADsOpenObject(_bstr_t("LDAP://CN=JeffSmith, DC=fabrikam, DC=com"),
                   NULL,
                   NULL,
                   ADS_SECURE_AUTHENTICATION, 
                   IID_IADs,
                   (void**) &pObject);
if (hr != S_OK)
    {} // Handle open object errors here.
else
    {} // Object was retrieved, continue processing here.

Требования

Требование Значение
Минимальная версия клиента Windows Vista
Минимальная версия сервера Windows Server 2008
Верхняя часть iads.h

См. также раздел

Перечисления ADSI

Поставщики системы ADSI

ADsOpenObject

IADsAccessControlEntry

IADsOpenDSObject