Cuestión : Conseguir calidad de miembro de grupo de LDAP


Utilizo el código below para descubrir que un usuario es una parte del grupo del admin. Tengo que authenticar dos tipos de los usuarios uno soy miembro y distribuidor autorizado. Trabaja con dominio del miembro y no trabaja con dominio del distribuidor autorizado y no vuelve un valor.  Puede alguien ayudar en este código.


Hay una manera de hacer esto de manera alternativa de authenticar a usuarios encontrando cierto grupo del memberof.
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:
secuencia pública GetGroups ()
        {
            Búsqueda de DirectorySearcher = nuevo DirectorySearcher (_path);
            búsqueda. Filtro = “(cn=” + _filterAttribute + ") “;
            search.PropertiesToLoad.Add (“memberOf”);
            groupNames de StringBuilder = nuevo StringBuilder ();

            intento
            {
                Resultado de SearchResult = search.FindOne ();
                propertyCount = resultado de la internacional. Características [“memberOf”]. Cuenta;
                secuencia dn;
                equalsIndex de la internacional, commaIndex;

                para (propertyCounter de la internacional = 0; propertyCounter  < propertyCount="">
           

Respuesta : Conseguir calidad de miembro de grupo de LDAP


Autorización de Ahh que veo.

Usted es tan auth de la prueba LDAP aquí:

            Entrada de DirectoryEntry = nuevo DirectoryEntry (_path, domainAndUsername, pwd);

Y eso está muy bien, usted establece la conexión authenticada. Pero por otra parte usted intenta y construye a investigador para los grupos como esto:

            Búsqueda de DirectorySearcher = nuevo DirectorySearcher (_path);

Usted ha caído la conexión authenticada y ahora usted está intentando pasar en el _path, creando una segunda conexión unauthenticated, en lugar un DirectoryEntry authenticado.

Usted almacenaría ideal la “entrada” y utilizaría eso.

e.g.

namespace FormsAuth
{
    clase pública LdapAuthentication
    {
        DirectoryEntry público _entry;

       

        bool público IsAuthenticated (dominio de la secuencia, username de la secuencia, pwd de la secuencia)
        {
               
 
                //Update la nueva trayectoria al usuario en el directorio.
                _filterAttribute = resultado (de la secuencia). Características [“NC”] [0];
                _entry = result.GetDirectoryEntry ();
         }


Entonces si le authentican usted puede tirar de la cualidad del memberOf del DirectoryEntry algo que buscando otra vez en GetGroups:

// I piensa… no probado
Encadenar [] el memberOf = _entry. Características [“memberof”]

Chris
Otras soluciones  
 
programming4us programming4us