¿Cómo se filtra una consulta LDAP de Active Directory a grupos que contienen el usuario autenticado/encuadernado (o cualquier usuario)? Esto funciona bien:¿Cómo se filtra una consulta LDAP para grupos que contienen un usuario específico?
(&(objectClass=group)(member=*))
>>> lots of results
Pero no puede ir más detalle:
(&(objectClass=group)(member=*S*))
>>> nothing
El MSDN menciona el uso de un filtro de la siguiente manera:
(member:1.2.840.113556.1.4.1941:=(cn=user1,cn=users,DC=x))
Pero incluso ignorando el loca hyper magic number involucrado en eso, siempre obtengo 0 resultados cuando trato de filtrar con eso (incluso reemplazando cn=user1,cn=users,DC=x
con mi propio distinguishedName, incluso re colocándolo con *
).
La página de MSDN Filtro de búsqueda Sintaxis vinculado en @ respuesta de JPBlanc abajo * listas * el número mágico hiper loco, pero no lo hace * explican * se . La * explicación * es que es un nodo en el estándar oscuro [OID] (https://en.wikipedia.org/wiki/Object_identifier) administrado por ISO y ITU-T, de los cuales LDAP es [uno de los pocos] usos destacados] (https://en.wikipedia.org/wiki/Object_identifier#Usage). Consulte http://www.oid-info.com/cgi-bin/display?tree=1.2.840.113556.1.4.1941 para obtener un desglose estructural de la importancia de cada número. –