src/libraries/System.DirectoryServices.Protocols/src/PACKAGE.md
System.DirectoryServices.Protocols provides a managed implementation of Lightweight Directory Access Protocol (LDAP) version 3 and Directory Services Markup Language (DSML) version 2.0 (V2) standards.
It primarily uses the LdapConnection type for interacting with LDAP servers, using system native libraries to establish TCP/IP or UDP LDAP connections.
Supports both Windows and Unix, but certain features, such as setting client or server certificate options, are not available on Unix.
Using the LdapConnection type, you can establish connections to LDAP servers and issue requests.
Here is a simple example:
using System.DirectoryServices.Protocols;
// Create a new LdapConnection instance using the server URL.
using (LdapConnection connection = new LdapConnection("ldap.example.com")) {
// Some credentials
connection.Credential = new NetworkCredential(dn, password);
// Connect to the server
connection.Bind();
// Perform LDAP operations
}
The main types provided by this library are:
System.DirectoryServices.Protocols.LdapConnectionSystem.DirectoryServices.Protocols.DirectoryAttributeSystem.DirectoryServices.Protocols.DirectoryOperationSystem.DirectoryServices.Protocols.DirectoryRequestSystem.DirectoryServices.Protocols.DirectoryResponseSystem.DirectoryServices.Protocols is released as open source under the MIT license. Bug reports and contributions are welcome at the GitHub repository.