Csharp/C Sharp/Network/Dsml

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

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>