ldap_bind_s函式 (winldap.h)
ldap_bind_s函式會同步驗證 LDAP 伺服器的用戶端。
語法
WINLDAPAPI ULONG LDAPAPI ldap_bind_s(
[in] LDAP *ld,
[in] const PSTR dn,
[in] const PCHAR cred,
[in] ULONG method
);
參數
[in] ld
會話句柄。
[in] dn
Null 終止字串的指標,其中包含用來系結之項目的辨別名稱。 這可以是 DN、UPN、WinNT 樣式使用者名稱,或是目錄伺服器將接受為標識碼的其他名稱。
[in] cred
Null 終止字串的指標,其中包含要用來驗證的認證。 您可以使用此參數傳遞任意認證。 認證的格式和內容取決於 方法 參數的設定。 如需詳細資訊,請參閱<備註>。
[in] method
指出要使用的驗證方法。 如需詳細資訊和有效異步驗證方法的清單,請參閱一節。 如需有效異步驗證方法的詳細資訊和描述,請參閱 ldap_bind。
傳回值
如果函式成功,傳回值 會LDAP_SUCCESS。
如果函式失敗,它會傳回錯誤碼。 如需詳細資訊,請參閱 傳回值。
備註
在 Windows Server 2008 和 Windows Vista 中引進用戶帳戶控制,對於在 LDAP 中進行修改或新增,會有非常重要的結果。 當使用者以受限制的 UAC 系統管理員令牌登入 DC,並使用 NULL 認證時,任何修改或新增目錄或任何架構變更作業都會失敗。 這包括 DirSync 搜尋、使用 SecurityDescriptorFlags 和其他許多作業時,從物件的 ntSecurityDescriptor 属性擷取 SACL。
這些全都會失敗,且訪問許可權不足。
如果系統管理員登入 DC 時,用戶帳戶控制生效,系統管理員會在登入工作階段中取得受限制的令牌。 如果接著使用具有 NULL 認證的ldap_bind_s,則進行修改或新增的作業將會失敗。
ldap_bind_s實作支援下表所列的驗證方法。 使用 LDAP_AUTH_SIMPLE 選項呼叫ldap_bind_s相當於呼叫 ldap_simple_bind_s。
方法 | 描述 | 認證 |
---|---|---|
LDAP_AUTH_SIMPLE | 使用純文字密碼進行驗證。 | 包含用戶密碼的字串。 |
LDAP_AUTH_DIGEST | 摘要式驗證套件。 | 若要以目前使用者身分登入,請將 dn 和 cred 參數設定為 NULL。 若要以其他使用者身分登入,請將 dn 參數設定為 NULL ,並將 cred 參數設定為具有適當使用者名稱、功能變數名稱和密碼 之SEC_WINNT_AUTH_IDENTITY 結構的指標。 |
LDAP_AUTH_DPA | 分散式密碼驗證。 由 Microsoft 成員資格系統使用。 | 若要以目前使用者身分登入,請將 dn 和 cred 參數設定為 NULL。 若要以其他使用者身分登入,請將 dn 參數設定為 NULL ,並將 cred 參數設定為具有適當使用者名稱、功能變數名稱和密碼 之SEC_WINNT_AUTH_IDENTITY 結構的指標。 |
LDAP_AUTH_MSN | Microsoft 網路驗證服務。 | 若要以目前使用者身分登入,請將 dn 和 cred 參數設定為 NULL。 若要以其他使用者身分登入,請將 dn 參數設定為 NULL ,並將 cred 參數設定為具有適當使用者名稱、功能變數名稱和密碼 之SEC_WINNT_AUTH_IDENTITY 結構的指標。 |
LDAP_AUTH_NEGOTIATE | 一般安全性服務 (GSS) (Snego) 。 不會提供驗證,而是從可用服務清單中選擇最適當的驗證方法,並將所有驗證數據傳遞至該服務。 | 若要以目前使用者身分登入,請將 dn 和 cred 參數設定為 NULL。 若要以其他使用者身分登入,請將 dn 參數設定為 NULL ,並將 cred 參數設定為具有適當使用者名稱、功能變數名稱和密碼的 SEC_WINNT_AUTH_IDENTITY 或 SEC_WINNT_AUTH_IDENTITY_EX 結構指標。 |
LDAP_AUTH_NTLM | NT LAN 管理員 | 若要以目前使用者身分登入,請將 dn 和 cred 參數設定為 NULL。 若要以其他使用者身分登入,請將 dn 參數設定為 NULL ,並將 cred 參數設定為具有適當使用者名稱、功能變數名稱和密碼的 SEC_WINNT_AUTH_IDENTITY 或 SEC_WINNT_AUTH_IDENTITY_EX 結構指標。 |
LDAP_AUTH_SICILY | 涵蓋 MSN 伺服器的套件交涉。 | 若要以目前使用者身分登入,請將 dn 和 cred 參數設定為 NULL。 若要以其他使用者身分登入,請將 dn 參數設定為 NULL ,並將 cred 參數設定為具有適當使用者名稱、功能變數名稱和密碼 之SEC_WINNT_AUTH_IDENTITY 結構的指標。 |
LDAP_AUTH_SSPI | 已過時。 包含回溯相容性。 使用此常數會選取 GSS (Snego) 交涉服務。 | 與 LDAP_AUTH_NEGOTIATE相同。 |
針對異步系結驗證,請使用 LDAP_AUTH_SIMPLE 搭配 ldap_bind。
系結作業會藉由提供辨別名稱和某種類型的驗證認證,例如密碼,來識別用戶端至目錄伺服器。 確切的認證取決於所使用的驗證方法。 如果您針對具有ldap_bind_s () ( 非簡單) 的認證傳入 NULL,則會使用目前的使用者或服務認證。 如果指定ldap_simple_bind_s ) 中的簡單 系結方法 (,則相當於 NULL 純文本密碼。 如需詳細資訊,請參閱 ldap_bind。
請注意,LDAP 2 伺服器在嘗試需要驗證的其他作業之前,必須先系結應用程式。
多線程:系結呼叫是不安全的,因為它們會套用至整個連線。 如果線程共用連線,並嘗試與其他作業線程系結作業,請小心。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista |
最低支援的伺服器 | Windows Server 2008 |
目標平台 | Windows |
標頭 | winldap.h |
程式庫 | Wldap32.lib |
Dll | Wldap32.dll |