active dictionary service

Active Directory Service Interfaces (ADSI) is a set of COM interfaces used to access the features of directory services from different network providers. ADSI is used in a distributed computing environment to present a single set of directory service interfaces for managing network resources. Administrators and developers can use ADSI services to enumerate and manage the resources in a directory service, no matter which network environment contains the resource.
ADSI enables common administrative tasks, such as adding new users, managing printers, and locating resources in a distributed computing environment.
System.DirectoryServices 命名空間用以從託管代碼簡便地訪問 Active Directory。該命名空間包含兩個組件類,即 DirectoryEntry 和 DirectorySearcher,它們使用 Active Directory 服務接口 (ADSI) 技術。ADSI 是 Microsoft 提供的一組接口,作為使用各種網路提供程式的靈活的工具。ADSI 使管理員能夠相對方便地定位和管理網路上的資源,不管網路的大小如何。
此命名空間中的類可以與任何 Active Directory 服務提供程式一起使用。當前的一些提供程式包括 Internet 信息服務 (IIS)、輕量目錄訪問協定 (LDAP)、Novell NetWare 目錄服務 (NDS) 和 WinNT。
ADSI 是 Microsoft Active Directory 的編程接口,使應用程式能夠只使用一個接口就可以與網路上的不同目錄互動。使用 ADSI,可以創建一些應用程式,用以執行常見任務,如備份資料庫、訪問印表機和管理用戶帳戶
Active Directory 是一種樹結構。樹中的每個節點包含一組屬性。使用此命名空間可遍歷、搜尋和修改樹,以及讀取和寫入節點的屬性。
DirectoryEntry 類封裝 Active Directory 層次結構中的節點或對象。使用此類綁定到對象、讀取屬性和更新特性。DirectoryEntry 與幫助器類一起為生存期管理和導航方法提供支持,包括創建、刪除、重命名、移動子節點和枚舉子級。
使用 DirectorySearcher 類對 Active Directory 層次結構執行查詢。LDAP 是系統提供的唯一一種支持搜尋的 Active Directory 服務接口 (ADSI) 提供程式。
輕量級目錄訪問協定(LDAP)用於訪問 X.500 的目錄服務,它不會產生目錄訪問協定(DAP)訪問 X.500 時所需的資源要求。本協定特別針對那些簡單管理程式和瀏覽器程式,它們提供對 X.500 目錄進行簡單的讀/寫互動式訪問,同時它也是對 DAP 本身的一種補充。
LDAP 的訊息將協定數據單元(PDU)直接映射到 TCP 位元組流,所用連線埠是389。LDAP 訊息沒有自己的信頭,它是基於 ANS 的文本訊息。為了能進行協定數據的交換,所有的協定操作都封裝在一個通用信封中並進行壓縮。LDAP 訊息(LDAP Message)的功能是給所有的協定交換定義一個包含通用欄位的信封。在現在,唯一的通用欄位是一個訊息標識符(ID)和控制信息。
Vegas 示例:
//檢查NT帳號
public bool CheckNTAccount(string UserName, string Password, string Domain)
{
DirectoryEntry Ad;
// DirectorySearcher ds;
string strLDAP = System.Configuration.ConfigurationSettings.AppSettings["LDAP"];
Ad = new DirectoryEntry(strLDAP, Domain + "\\" + UserName, Password, AuthenticationTypes.ServerBind);
try
{
object obj = Ad.NativeObject; //檢查是否可正常登入
return true;
}
catch (Exception)
{
return false;
}
finally
{
Ad.Dispose();
}
}

相關詞條

熱門詞條

聯絡我們