Witam

Chciałbym przywitać wszystkich forumowiczów - piszę tu po raz pierwszy.
Zazwyczaj udawało mi się znaleźć odpowiedź na moje pytanie na forum bądź ogólnie w sieci, tym razem tak nie jest. Naświetlę problem.

Mam zalogować się do serwera LDAP. Po zalogowaniu sprawdzić, czy dany użytkownik (o znanej nazwie) należy do danej grupy (o znanej nazwie). Oto w jaki sposób to robię:

DirectoryEntry dirEntry = new DirectoryEntry("LDAP://192.168.zz.zz:389/dc=galaz",
"uid=pawel,ou=People,dc=galaz", "RkYc", AuthenticationTypes.None);
DirectorySearcher searcher = new DirectorySearcher(dirEntry);
searcher.Filter = "(&(cn=test1)(uid=pawel))";
SearchResultCollection result = searcher.FindAll();

Jako result otrzymuję wynik obiekt z licznikiem (count) = 0; Zatem nie znalazł takiego wyniku.
Próbowałem znaleźć w sieci sposób formułowania searcher.Filter, ale wszystkie posty wskazuja, że mój sposób sformułowania pytania jest OK.

Próbowałem to zrobić w inny sposób:

searcher.Filter = "cn=test1";

I wtedy otrzymuję obiekt, którego składnikiem non-public jest string o nazwie "pawel". Z tego powodu wnioskuję, że zapytanie jest złe, ponieważ grupa test1 zawiera mojego użytkownika.

W jaki sposób sprawdzić, czy dana grupa zawiera zatem danego użytkownika? Żadne inne informacje o nim nie sa mi potrzebne.

Prosiłbym o pomoc, jeżeli sa potrzebne jakieś inne informacje - służę
Pozdrawiam, Paweł

ROZWIĄZANIE:

Wysłanie postu zmotywowało mnie do zabrania się do sprawy od innej strony. Pobrałem program łączący się z serwerem LDAP i sprawdziłem jakie parametry mogą przyjąć wartości na serwerze. Prawdopodobnie działać będzie (pierwsze testy pomyślne, dalsze dziś) taki filtr:

searcher.Filter = "(&((cn=test1)(memberUid=pawel)))";

Jeżeli macie jakieś uwagi, zapraszam - z chęcią skorzystam.