2009-07-22 22 views
6

Zastanawiam się, czy istnieje sposób, aby sprawdzić uprawnienia użytkowników wobec ACL w C#. Buduję duży system, który będzie używał aktywnego katalogu do uwierzytelniania i chciałbym użyć jak największej ilości zabezpieczeń systemu Windows. Po spędzeniu kilku ostatnich godzin przeglądania System.Security.AccessControl nie jestem pewien, czy zapewnia on łatwy sposób sprawdzenia tokena użytkownika na liście ACL. Wygląda na to, że jest o wiele bardziej ukierunkowana na manipulowanie deskryptorami zabezpieczeń systemu Windows, chociaż istnieje wystarczająco dużo klas abstrakcyjnych do implementacji systemu niestandardowego.ACL Check/Management w C#

Przeglądam interfejsy API Authz, które wydają się dużo bardziej elastyczne i posiadają funkcję (AuthzAccessCheck), która umożliwia sprawdzenie kontekstu względem deskryptora zabezpieczeń. W ogóle nie jestem przeciwny ich opakowaniu.

Czy ktoś inny miał podobny problem, a jeśli tak, jakie były plusy i minusy, jakie widziałeś?

+0

Próbuję użyć 'System.Security.AccessControl' dla moich problemów bezpieczeństwa w moich aplikacjach internetowych (nie pliki i foldery), czy wymyśliłeś coś, co można by udostępnić? dzięki – Ashkan

+0

Użyłem Authz i zbudowałem dla niego opakowanie. –

+0

Czy znasz jakieś zasoby dla Authz? Przeszukałem go i znalazłem tylko witryny msdn, które są w C++. Znalazłem już [nAcl] (http://nacl.codeplex.com), która jest biblioteką kontroli dostępu, ale nie spełnia moich wymagań. – Ashkan

Odpowiedz

1

W jaki sposób jest przechowywana i dostępna biblioteka ACL? Czy możliwe jest przekonwertowanie wpisów ACL na obiekt PrincipalPermission? Jeśli tak, możesz użyć metody Demand() w celu sprawdzenia praw dostępu, generuje SecurityException, jeśli użytkownicy nie mają dostępu.

Powiązane problemy