Jaki jest najlepszy sposób określenia, czy użytkownik należy do określonej grupy użytkowników AD przy użyciu C# bez konieczności wyliczenia we wszystkich grupach użytkowników. Czy można to zrobić za pomocą pojedynczego zapytania LDAP lub wyszukiwania?Określić, czy użytkownik należy do określonej grupy AD za pomocą .Net
Odpowiedz
Myślę, że trzeba wyliczyć grupy.
Wystarczy popatrzeć na tych dwóch odpowiedzi dla różnych technik:
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?
Jeśli sprawdzanie bieżącego użytkownika i znasz nazwę grupy chcesz, nie trzeba wymieniać przez wszystkie grupy. Oto przykład kodu w 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
Podobnie w 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);
}
Więcej przykładów można znaleźć w WindowsIdentity documentation, jeśli trzeba dostosować go do sprawdzenia członkostwa inny użytkownik lub cokolwiek.
To było dla mnie niezwykle pomocne. Jeśli chcesz sprawdzić członkostwo innego użytkownika, po prostu wykonaj następujące czynności: var userPrincipal = new WindowsPrincipal (new WindowsIdentity (username)); –
To działa, ale nie otrzymasz informacji o wszystkich grupach, tylko niektórych z nich. Aby uzyskać pełną listę grup, których członkiem jest użytkownik, należy sprawdzić tę odpowiedź: (http://stackoverflow.com/questions/5252108/query-from-ldap-for-user-groups) – Roboblob
Interesujące. Dzięki, @Roboblob! – ewall
- 1. Ramy Django REST: sprawdź, czy użytkownik należy do grupy
- 2. Znajdź lokalne grupy, do których należy użytkownik domeny?
- 3. javascript aktywny katalog użytkownik/grupy zapytanie
- 4. Sprawdź, czy użytkownik należy do grupy Active Directory w języku C# + Asp.net
- 5. Jak uzyskać WSZYSTKIE grupy użytkowników AD (rekurencyjnie) za pomocą Powershell lub innych narzędzi?
- 6. składni, należy sprawdzić, czy użytkownik jest zalogowany
- 7. Ograniczanie referencje tożsamości do określonej grupy elementów
- 8. Jak dołączyć do grupy za pomocą SignalR
- 9. Czy można określić, kiedy element został wyrenderowany za pomocą JavaScript?
- 10. Prawidłowa metoda wyszukiwania użytkownika AD za pomocą adresu e-mail od .NET
- 11. Jak uruchomić działanie za pomocą określonej karty?
- 12. Usuń użytkownika AD z grupy Security przy użyciu Python
- 13. W .NET, sprawdź, czy bieżący użytkownik może zapisywać do katalogu
- 14. Android: Get powiadomienie, gdy użytkownik wchodzi w określonej lokalizacji
- 15. Czy należy używać '==' do porównań ciągów zlokalizowanych .NET?
- 16. Czy istnieje heurystyka, aby określić, czy dana metoda lub pole należy do klasy?
- 17. W Django, jak sprawdzić, czy użytkownik jest w określonej grupie?
- 18. Odinstalowywanie określonej funkcji za pomocą msiexec
- 19. Pobieranie numeru wiersza z określonej grupy wierszy za pomocą samo łączenia w JPA
- 20. AD za pośrednictwem LDAP - Jak mogę zwrócić wszystkie grupy nadrzędne z zapytania?
- 21. Podziel ciąg na grupy o określonej długości
- 22. Czy mogę określić XMLRoot za pomocą kodu zamiast atrybutów?
- 23. Grupy zagnieżdżone Active Directory
- 24. sprawdzić, czy Użytkownik jest Grupa użytkownika
- 25. Instalowanie określonej wersji pakietu za pomocą Kompozytor
- 26. Przewiń do określonej pozycji na stronie za pomocą Javascript/Jquery
- 27. Jak określić, skąd pochodzi użytkownik w asp.net?
- 28. Jak określić konfigurację proxy za pomocą Microsoft.XMLHTTP?
- 29. typ włączania i wyłączania nie należy do określonej klasy szablonów
- 30. Jak określić typy właściwości za pomocą odbicia?
możliwy duplikat [Zobacz, czy użytkownik należy do grupy Active Directory w języku C# + Asp.net] (http://stackoverflow.com/questions/2188954/see-if-user-is-part-of-active- directory-group-in-c-asp-net) –
możliwy duplikat [Jak napisać zapytanie LDAP w celu sprawdzenia, czy użytkownik jest członkiem grupy?] (http://stackoverflow.com/questions/1032351/how-to- write-ldap-query-to-test-if-user-is-member-of-a-group) –