Vraag : Het krijgen van groepslidmaatschap van LDAP


Ik gebruik de onderstaande code om te weten te komen een gebruiker een deel van de admingroep is. Ik moet twee soorten gebruikers voor authentiek verklaren één lid en handelaar is. Het werkt met liddomein en werkt niet met handelaarsdomein en keert geen waarde terug.  Kan somebody in deze code helpen.


Is daar een manier om dit op alternatieve manier te doen gebruikers voor authentiek verklaren door een memberof te vinden bepaalde groep.
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:
openbaar koord GetGroups ()
        {
            Het onderzoek van DirectorySearcher = nieuwe DirectorySearcher (_path);
            zoek. Filter = „(cn=“ + _filterAttribute +“) „;
            search.PropertiesToLoad.Add („memberOf“);
            StringBuilder groupNames = nieuwe StringBuilder ();

            probeer
            {
                Het resultaat van SearchResult = search.FindOne ();
                int. propertyCount = resultaat. Eigenschappen [„memberOf“]. Telling;
                koord dn;
                int. equalsIndex, commaIndex;

                voor (int. propertyCounter = 0; propertyCounter  < propertyCount="">
           

Antwoord : Het krijgen van groepslidmaatschap van LDAP


O.k. Ahh zie ik.

Zo test u hier LDAP auth:

            De ingang van DirectoryEntry = nieuwe DirectoryEntry (_path, domainAndUsername, DOW);

En dat is fijn, vestigt u de voor authentiek verklaarde verbinding. Maar anderzijds probeert u en bouwt de onderzoeker voor groepen als dit:

            Het onderzoek van DirectorySearcher = nieuwe DirectorySearcher (_path);

U hebt de voor authentiek verklaarde verbinding gelaten vallen en nu probeert u om in _path over te gaan, creërend een tweede niet bekrachtigde verbinding, in plaats daarvan een voor authentiek verklaarde DirectoryEntry.

Ideaal gezien zou u „ingang“ opslaan en zou dat gebruiken.

b.v.

namespace FormsAuth
{
    openbare klasse LdapAuthentication
    {
        openbare _entry DirectoryEntry;

       

        openbare bool IsAuthenticated (koorddomein, koordgebruikersbenaming, koordDOW)
        {
               
 
                //Update de nieuwe weg aan de gebruiker in de folder.
                _filterAttribute = (koord) resultaat. Eigenschappen [„cn“] [0];
                _entry = result.GetDirectoryEntry ();
         }


Dan als u voor authentiek wordt verklaard kunt u de memberOfattributen van DirectoryEntry trekken eerder dan het zoeken opnieuw in GetGroups:

// dat ik… niet getest heb gedacht
Koord [] memberOf = _entry. Eigenschappen [„memberof“]

Chris
Andere oplossingen  
 
programming4us programming4us