Csharp/C Sharp/Network/Dsml
Using DsmlDirectoryIdentifier
<source lang="csharp"> using System; using System.Net; using System.DirectoryServices; using System.DirectoryServices.Protocols; public class MainClass {
public static void Main() { Uri uri = new Uri("http://yourSite/dsml1"); DsmlDirectoryIdentifier identifier = new DsmlDirectoryIdentifier(uri); NetworkCredential credentials = new NetworkCredential(); credentials.UserName = "yourName"; credentials.Password = "password"; DsmlSoapHttpConnection connection = new DsmlSoapHttpConnection(identifier, credentials); connection.BeginSession(); string distinguishedname = "yourName"; string ldapFilter = "object=user"; string[] attributes = new string[1]; DirectoryRequest request = new SearchRequest(distinguishedname, ldapFilter, System.DirectoryServices.Protocols.SearchScope.Subtree, null); DirectoryResponse response = connection.SendRequest(request);
connection.EndSession(); }
}
</source>
Using DsmlSoapHttpConnection
<source lang="csharp"> using System; using System.Net; using System.DirectoryServices; using System.DirectoryServices.Protocols; public class MainClass {
public static void Main() { Uri uri = new Uri("http://yourSite:8080/dsml3"); DsmlDirectoryIdentifier identifier = new DsmlDirectoryIdentifier(uri); NetworkCredential credentials = new NetworkCredential(); credentials.UserName = @"explorer\cnagel"; credentials.Password = "password"; DsmlSoapHttpConnection dsmlConnection = new DsmlSoapHttpConnection(identifier); string baseDN = null; string ldapSearchFilter = "(objectClass=*)"; string[] attributesToReturn = null; SearchRequest searchRequest = new SearchRequest(baseDN, ldapSearchFilter,System.DirectoryServices.Protocols.SearchScope.Base, attributesToReturn); SearchResponse searchResponse = (SearchResponse)dsmlConnection.SendRequest(searchRequest); foreach (SearchResultEntry entry in searchResponse.Entries) { DirectoryAttribute attribute = entry.Attributes["schemaNamingContext"]; Console.WriteLine(attribute.Name + "=" + attribute[0]); foreach (DirectoryAttribute attr in entry.Attributes.Values) { Console.Write(attr.Name + "="); foreach (object value in attr) { Console.Write(value + " "); } } } }
}
</source>