ADS_AUTHENTICATION_ENUM列舉 (iads.h)
ADS_AUTHENTICATION_ENUM列舉會指定ADSI中用於系結至目錄服務物件的驗證選項。 呼叫 IADsOpenDSObject 或 ADsOpenObject 以系結至 ADSI 物件時,請至少提供其中一個選項。 一般而言,不同的提供者會有不同的實作。 這裡記載的選項適用於 MICROSOFT 隨附於 ADSI SDK 所提供的提供者。 如需詳細資訊,請參閱 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 提供者會使用NT LAN Manager (NTLM) 驗證用戶端。 Active Directory 會使用 Kerberos 和可能 NTLM 來驗證用戶端。 當 使用者名稱和密碼為 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 不需要可寫入的域控制器。 如果您的應用程式只從作用中讀取或查詢數據 目錄,您應該使用此旗標來開啟會話。 這可讓應用程式利用 Read-Only DC (RODC) 。 在 Windows Server 2008 中,ADSI 會嘗試連線到 Read-Only DC (RODC) 或可寫入 DC。 This 允許使用 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 如果在LDAP路徑中傳遞Active Directory DNS 伺服器名稱,這會強制 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腳本版本應用程式中撰寫這類常數的明確宣告,如這裡所示。
範例
下列程式代碼範例示範如何使用 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)
下列程式代碼範例示範如何搭配 ADsOpenObject 使用ADS_SECURE_AUTHENTICATION旗標,以驗證系結為 “JeffSmith” 的使用者。 用戶名稱可以是 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 |