다음을 통해 공유


ADS_AUTHENTICATION_ENUM 열거형(iads.h)

ADS_AUTHENTICATION_ENUM 열거형은 디렉터리 서비스 개체에 바인딩하기 위해 ADSI에서 사용되는 인증 옵션을 지정합니다. IADsOpenDSObject 또는 ADsOpenObject를 호출하여 ADSI 개체에 바인딩하는 경우 옵션 중 하나 이상을 제공합니다. 일반적으로 서로 다른 공급자에는 서로 다른 구현이 있습니다. 여기에 설명된 옵션은 ADSI SDK에 포함된 Microsoft에서 제공하는 공급자에 적용됩니다. 자세한 내용은 ADSI 시스템 공급자를 참조하세요.

Syntax

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 공급자는 NTLM(NT LAN 관리자)을 사용하여
클라이언트를 인증합니다. Active Directory는 Kerberos 및 NTLM을 사용하여 클라이언트를 인증합니다. When
사용자 이름과 암호는 NULL이고 ADSI는 보안을 사용하여 개체에 바인딩됩니다.
호출 스레드의 컨텍스트입니다. 이 컨텍스트는 다음을 나타내는 사용자 계정의 보안 컨텍스트입니다.
애플리케이션이 실행 중이거나 호출 스레드가 나타내는 클라이언트 사용자 계정입니다.
ADS_USE_ENCRYPTION
값: 0x2
네트워크를 통해 데이터 교환에 암호화를 사용하려면 ADSI가 필요합니다.

참고 이 옵션은 WinNT 공급자에서 지원되지 않습니다.

 
ADS_USE_SSL
값: 0x2
채널은 SSL(Secure Sockets Layer)을 사용하여 암호화됩니다. Active Directory를 사용하려면 인증서가 필요합니다.
SSL을 지원하기 위해 서버를 설치합니다.

이 플래그가 ADS_SECURE_AUTHENTICATION 플래그와 결합되지 않은 경우
제공된 자격 증명은 NULL이고 바인딩은 익명으로 수행됩니다. 이 플래그인 경우
ADS_SECURE_AUTHENTICATION 플래그와 결합되고 제공된 자격 증명은 다음과 같습니다.
NULL이면 호출 스레드의 자격 증명이 사용됩니다.

참고 이 옵션은 WinNT 공급자에서 지원되지 않습니다.

 
ADS_READONLY_SERVER
값: 0x4
쓰기 가능한 도메인 컨트롤러는 필요하지 않습니다. 애플리케이션이 활성에서만 데이터를 읽거나 쿼리하는 경우
디렉터리에서 이 플래그를 사용하여 세션을 열어야 합니다. 이렇게 하면 애플리케이션이
Read-Only DC(RODC).

Windows Server 2008에서 ADSI는 Read-Only DC(RODC) 또는 쓰기 가능한 DC에 연결을 시도합니다. 이번
는 액세스를 위해 RODC를 사용할 수 있도록 하고 애플리케이션이 분기 또는 경계 네트워크에서 실행되도록 합니다.
(DMZ, 완역 영역 및 스크린된 서브넷이라고도 함)
쓰기 가능한 DC.

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
Active Directory DNS 서버 이름이 LDAP 경로에 전달되면 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 도메인 컨트롤러의 계정이 있어야 하며 서버리스 바인딩에서 사용하는 DC는 항상 기본 도메인에 있습니다. 즉, 바인딩을 수행하는 스레드의 현재 보안 컨텍스트와 연결된 도메인입니다.

VBScript는 형식 라이브러리에서 데이터를 읽을 수 없으므로 VBScript 애플리케이션은 위에서 정의한 대로 기호 상수를 인식하지 않습니다. 대신 숫자 상수를 사용하여 VBScript 애플리케이션에서 적절한 플래그를 설정합니다. 심볼 상수를 좋은 프로그래밍 사례로 사용하려면 Visual Basic Scripting Edition 애플리케이션에서 여기에서 수행한 것처럼 이러한 상수에 대한 명시적 선언을 작성합니다.

예제

다음 코드 예제에서는 IADsOpenDSObject 를 사용하여 WinNT 공급자에 대한 보안 인증을 사용하여 fabrikam에서 개체를 여는 방법을 보여 줍니다.

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)

다음 코드 예제에서는 "JeffSmith"로 바인딩된 사용자의 유효성을 검사하기 위해 ADsOpenObject와 함께 ADS_SECURE_AUTHENTICATION 플래그를 사용하는 방법을 보여 줍니다. 사용자 이름은 UPN 형식인 "JeffSmith@Fabrikam.com"이고 고유 이름 형식인 "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