Frage : Erhalten von Gruppenmitgliedschaft von LDAP


Ich verwende den below Code, um dass herauszufinden, ein Benutzer ein Teil der admin-Gruppe ist. Ich muss zwei Arten Benutzer man beglaubigen bin Mitglied und Händler. Es funktioniert mit Mitgliedsgebiet und arbeitet nicht mit Händlergebiet und bringt nicht einen Wert zurück.  Kann jemand in diesem Code helfen.


Gibt es eine Weise, dies auf alternative Art zu tun, Benutzer zu beglaubigen, indem man eine memberof bestimmte Gruppe findet.
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
allgemeine Schnur GetGroups ()
        {
            DirectorySearcher Suche = neues DirectorySearcher (_path);
            Suche. Filter = „(cn=“ + _filterAttribute + ") „;
            search.PropertiesToLoad.Add („memberOf“);
            StringBuilder groupNames = neues StringBuilder ();

            Versuch
            {
                SearchResult Resultat = search.FindOne ();
                int-propertyCount = Resultat. Eigenschaften [„memberOf“]. Zählimpuls;
                Schnur dn;
                int equalsIndex, commaIndex;

                für (int propertyCounter = 0; propertyCounter  < propertyCount="">
           

Antwort : Erhalten von Gruppenmitgliedschaft von LDAP


Ahh O.K., das ich sehe.

So sind Sie Prüfung LDAP auth hier:

            DirectoryEntry Eintragung = neues DirectoryEntry (_path, domainAndUsername, pwd);

Und das ist fein, Sie herstellen den beglaubigten Anschluss. Aber andererseits versuchen Sie und errichten den Forscher für Gruppen so:

            DirectorySearcher Suche = neues DirectorySearcher (_path);

Sie fallen gelassen den beglaubigten Anschluss Sie und jetzt versuchen Sie, in das _path zu überschreiten und verursachen einen zweiten unauthenticated Anschluss, stattdessen ein beglaubigtes DirectoryEntry.

Ideal speichern Sie „Eintragung“ und verwenden das.

z.B.

namespace FormsAuth
{
    allgemeine Kategorie LdapAuthentication
    {
        allgemeines DirectoryEntry _entry;

       

        allgemeines bool IsAuthenticated (Schnurgebiet, Schnurusername, Schnur pwd)
        {
               
 
                //Update der neue Weg zum Benutzer im Verzeichnis.
                _filterAttribute = (Schnur) Resultat. Eigenschaften [„KN“] [0];
                _entry = result.GetDirectoryEntry ();
         }


Dann, wenn Sie beglaubigt, können Sie das memberOf Attribut vom DirectoryEntry eher als, wieder suchend in GetGroups ziehen:

// I denken… nicht geprüft
[] memberOf aufreihen = _entry. Eigenschaften [„memberof“]

Chris
Weitere Lösungen  
 
programming4us programming4us