¿Es posible crear una consulta LDAP que devolverá (o comprobará) usuarios en un grupo anidado? p.ej. UserA es miembro de GroupA y GroupA es miembro de GroupB. Quiero una consulta en GroupB para devolver que UserA es un miembro. Solo LDAP. El servidor es Active Directory.membresía de grupo anidado ldap
Respuesta
Sí, utilizando la regla de coincidencia LDAP_MATCHING_RULE_IN_CHAIN (OID 1.2.840.113556.1.4.1941). Por ejemplo:
(memberOf:1.2.840.113556.1.4.1941:=cn=group,cn=users,DC=x)
ver http://msdn.microsoft.com/en-us/library/aa746475%28VS.85%29.aspx
debe utilizar el nombre completo de su grupo cuando se utiliza memberOf:1.2.840.113556.1.4.1941:=
en mi caso CN=MyGroup,OU=User,OU=Groups,OU=Security,DC=domain,DC=com
era todo el nombre distinguido
(&(objectCategory=person)(objectClass=user)(memberOf:1.2.840.113556.1.4.1941:=CN=MyGroup,OU=User,OU=Groups,OU=Security,DC=domain,DC=com))
puede obtener el distinguido nombre de su grupo ejecutando el siguiente código y poniendo en este filtro (& (objectClass = group) (name = MyGroup))
Imports System.DirectoryServices
Module Module1
Sub Main()
Dim run As Boolean = True
Dim Filter As String
While run
Console.WriteLine("Enter Filter:")
Filter = Console.ReadLine()
If Filter = "exit" Then
run = False
Else
checkFilter(Filter)
End If
End While
End Sub
Function checkFilter(Filter As String) As Boolean
Dim search As New DirectorySearcher("LDAP://dc=Domain,dc=com")
Try
search.Filter = Filter
search.PropertiesToLoad.Add("name")
search.PropertiesToLoad.Add("distinguishedName")
search.SearchScope = SearchScope.Subtree
Dim results As SearchResultCollection = search.FindAll()
If results Is Nothing Then
Console.WriteLine("Nothing")
Return False
Else
If results.Count() = 0 Then
Console.WriteLine("non found")
End If
Dim result As SearchResult
For Each result In results
Console.WriteLine(result.Properties("name")(0).ToString())
Console.WriteLine(result.Properties("distinguishedName")(0).ToString())
'For Each prop In result.Properties("members")
' Console.WriteLine(prop.ToString())
'Next
Next
Console.WriteLine(String.Format("{0} Users Found", results.Count()))
End If
Catch ex As Exception
Console.WriteLine(ex.Message)
End Try
Return True
End Function
End Module
Como su pregunta, la consulta debe ser
(&(memberOf:1.2.840.113556.1.4.1941:={0})(objectCategory=person)(objectClass=user)(sAMAccountName={1}))
{0}
es el grupo anidado, debe ser un nombre distinguido
{1}
es el usuario sAMAccountName desea (puede usar cualquier otra propiedad de usuario que sAMAccountName dentro de (sAMAccountName={1})
)
A continuación, obtendrá los detalles del usuario para la respuesta si el usuario es miembro del grupo anidado
- 1. MVC 4 SImpleidad Membresía con LDAP
- 2. Buscar membresía de grupo recursivo (Active Directory) con C#
- 3. consulta ldap para miembros del grupo
- 4. Asociar usuario de Ldap a un grupo con Java
- 5. ¿Por qué no DirContext.close() devuelve la conexión LDAP al grupo?
- 6. sola línea de consulta LDAP que enumera los usuarios de un grupo dentro de un supergrupo
- 7. Regex: ¿Cómo capturar esto? (un grupo anidado dentro de un grupo repetido)
- 8. ¿Cómo creo un grupo anidado por diccionario usando LINQ?
- 9. Agregar membresía grupal al proveedor de Membresía/Roles personalizado
- 10. Consulta de LDAP para grupos de usuarios
- 11. Ruta de LDAP Active Directory
- 12. ¿Cómo restrinjo a teamcity.users a los miembros de un grupo de Active Directory (LDAP)?
- 13. ¿Hay una clase .NET que pueda analizar cadenas CN = de LDAP?
- 14. ¿Cómo recuperar la membresía del grupo desde un ticket de Kerberos?
- 15. Cómo escribir una consulta LDAP para probar si el usuario es miembro de un grupo?
- 16. ¿Es posible tener un grupo local para un usuario de LDAP?
- 17. Membresía burlona
- 18. Autorización LDAP
- 19. Alternativas de membresía ASP.NET
- 20. Mejores prácticas de LDAP
- 21. Atributos de comparación LDAP
- 22. Java LDAP: ¿Determina si el usuario está en un grupo determinado?
- 23. Membresía, Membresía Proveedor y Membresía ¿Relaciones con el usuario en ASP.NET?
- 24. Android: RadioButton dentro de Diseño anidado en RadioGroup se cae del grupo
- 25. Perfil de membresía de ASP.NET
- 26. ¿Cómo rellenar las autorizaciones de LDAP del LDAP de Active Directory utilizando la seguridad de Spring?
- 27. Conectarse a Sun LDAP con ADO
- 28. Membresía de Asp.net - Cuentas bloqueadas
- 29. Membresía personalizada de Orchard CMS
- 30. ASP.NET SQL Membresía Tablas
Gracias; aunque es miembro de en este caso (el miembro me dirá los grupos de los que un usuario es miembro) – askvictor
¿Puede explicar eso un poco para aquellos de nosotros que no somos muy buenos en LDAPese? –
¿Es esta regla una extensión de Microsoft? –