Csharp/C Sharp/Network/Dsml

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

Using DsmlDirectoryIdentifier

 
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();
    }
}


Using DsmlSoapHttpConnection

 
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 + "  ");
                }
            }
        }
    }
}