2012-07-23 4 views
7

W mojej aplikacji ASP.NET otrzymuję informacje z Active Directory. Muszę być informowany o Użytkowniku z Informations GUID (Przykład: a28a6a34dsfdsf57d9e54f945a241), ale nie wiem, w jaki sposób mogę skorzystać z prawa filtra dla tego wyszukiwania:/Jak mogę znaleźć użytkownika z parametrem GUID (objectGUID) w Active Directory

na przykład, jeśli mogę szukać w Nazwisko użytkownika:

DirectoryEntry Entry = new DirectoryEntry("LDAP://" + "Domain"); 

      string filter = "(&(objectClass=user)(objectCategory=person)(cn=" + txtBenutzer.Text + "*))"; 

      DirectorySearcher Searcher = new DirectorySearcher(Entry, filter); 

      var q = from s in Searcher.FindAll().OfType<SearchResult>() 
        select new 
        { 
         //GetProperty(s, "objectGUID"), 
         Benutzer = GetProperty(s, "sAMAccountName"), 
         eMail = GetProperty(s, "mail"), 
         Vorname = GetProperty(s, "givenName"), 
         Nachname = GetProperty(s, "sn"), 
         Telefon = GetProperty(s, "telephoneNumber"), 
         UserID = s.GetDirectoryEntry().NativeGuid 

        }; 

      this.myListView.DataSource = q; 
      this.myListView.DataBind(); 

Teraz potrzebuję filtr z identyfikatorem GUID, dzięki któremu mogę znaleźć jedynego użytkownika AD. GUID dla tego wyszukiwania mam w UserID String = Session [ „UserID”]. ToString()

Tarasov

Odpowiedz

17

Nie trzeba szukać, można wiązać bezpośrednio do obiektu, jeśli wiesz, że GUID, np

var user = new DirectoryEntry("LDAP://<GUID=119d0d80-699d-4e81-8e4e-5477e22ac1b3>"); 

(zastąpić faktycznym identyfikatorem ObjectGUID).

Sprawdź ten wpis MSDN: Using ObjectGUID to Bind to an Object

+0

oh ok przetestować go jutro;) Daję Ci prośbę – Tarasov

+0

Ok to działa! :) dzięki – Tarasov

+0

@Tarasov: cieszę się, że pomógł :) Jeśli to działa, możesz również przyjąć odpowiedź. Twoje zdrowie. –

Powiązane problemy