¿Cuál es la mejor manera de determinar si un usuario pertenece a un grupo de usuarios de AD particular usando C# sin tener que enumerar todos los grupos de usuarios? ¿Se puede hacer esto usando una única búsqueda LDAP o búsqueda?Determine si un usuario pertenece a un Grupo de AD determinado usando .Net
Respuesta
Creo que tienes que enumerar grupos.
Tener un vistazo a estas dos respuestas para una variedad de técnicas:
See if user is part of Active Directory group in C# + Asp.net
How to write LDAP query to test if user is member of a group?
Si está mirando el usuario actual y que conoce el nombre del grupo que desea, no debería ser necesario enumerar a través de todos los grupos. Aquí hay ejemplos de código en VB.NET:
Public Function IsInGroup(ByVal GroupName As String) As Boolean
Dim MyIdentity As System.Security.Principal.WindowsIdentity = System.Security.Principal.WindowsIdentity.GetCurrent()
Dim MyPrincipal As System.Security.Principal.WindowsPrincipal = New System.Security.Principal.WindowsPrincipal(MyIdentity)
Return MyPrincipal.IsInRole(GroupName)
End Function
mismo modo en C#:
private static bool IsInGroup(string GroupName)
{
System.Security.Principal.WindowsIdentity MyIdentity = System.Security.Principal.WindowsIdentity.GetCurrent();
System.Security.Principal.WindowsPrincipal MyPrincipal = new System.Security.Principal.WindowsPrincipal(MyIdentity);
return MyPrincipal.IsInRole(GroupName);
}
Más ejemplos se pueden encontrar en el WindowsIdentity documentation, si es necesario modificarlo para comprobar la pertenencia de un usuario diferente o lo que sea.
Esto fue tremendamente útil para mí. Si necesita verificar la membresía de un usuario diferente simplemente haga esto: var userPrincipal = new WindowsPrincipal (new WindowsIdentity (username)); –
Esto funciona pero no obtendrá información para todos los grupos, solo algunos de ellos. Para obtener una lista completa de los grupos a los que pertenece el usuario, marque esta respuesta: (http://stackoverflow.com/questions/5252108/query-from-ldap-for-user-groups) – Roboblob
Interesante. Gracias, @Roboblob! – ewall
- 1. ¿Cómo saber qué grupo tiene un usuario determinado?
- 2. Sharepoint: descubra si el usuario actual pertenece al grupo especificado
- 3. ASP.NET MVC compruebe si el usuario pertenece al grupo [x]
- 4. Java LDAP: ¿Determina si el usuario está en un grupo determinado?
- 5. Averiguar si un grupo en AD está en el grupo de distribución?
- 6. Mostrando a qué grupo pertenece un cliente en Magento
- 7. C# comprobar si el usuario miembro de un grupo?
- 8. Cómo saber si una instancia pertenece a un determinado Tipo o cualquier tipo derivado
- 9. ¿Buscar grupos locales a los que pertenece un usuario de dominio?
- 10. Autenticación de usuario AD
- 11. Restringir referencias de identificación a un grupo determinado elemento
- 12. ¿Cómo rastrear retweets de un determinado usuario?
- 13. Flex: determine si un componente muestra
- 14. Comprueba si un objeto pertenece a una clase en Java
- 15. ¿Cómo puedo saber si un punto pertenece a cierta línea?
- 16. Cómo determinar si una dirección IP pertenece a un país
- 17. Determine si un carácter es alfabético
- 18. Determine la clase a la que pertenece un método en los raíles
- 19. Asociar usuario de Ldap a un grupo con Java
- 20. ¿Es posible probar si el navegador/sistema operativo de un usuario admite un tipo determinado de enlace usando javascript?
- 21. Cómo determinar todos los grupos a los que pertenece un usuario (incluidos los grupos anidados) en ActiveDirectory y .NET 3.5
- 22. Política de grupo de enlaces de C# en AD
- 23. Determine si un tipo es estático
- 24. Determine si existe un recurso en ResourceManager
- 25. CAPICOM: compruebe que SignedCode pertenece a un editor de confianza sin interfaz de usuario
- 26. obtener la lista de usuarios de Active Directory en un grupo de anuncios determinado
- 27. obtener los nombres de usuario en un grupo de Active Directory a través de .NET
- 28. ¿Cómo detectar si un personaje pertenece a un idioma de derecha a izquierda?
- 29. Determine si un parámetro/variable es a ("is_a?") Lambda?
- 30. Buscando un objectGUID en AD
posible duplicado de [Ver si el usuario es parte del grupo de Active Directory en C# + Asp.net] (http://stackoverflow.com/questions/2188954/see-if-user-is-part-of-active- directory-group-in-c-asp-net) –
posible duplicado de [¿Cómo escribir una consulta LDAP para probar si el usuario es miembro de un grupo?] (http://stackoverflow.com/questions/1032351/how-to- write-ldap-query-to-test-if-user-is-member-of-a-group) –