Zabezpieczenia oparte na rolach

Role są często używane w aplikacjach finansowych lub biznesowych do wymuszania zasad. Na przykład aplikacja może nakładać limity na rozmiar przetwarzanej transakcji w zależności od tego, czy użytkownik, który żąda, jest członkiem określonej roli. Clerks może mieć autoryzację do przetwarzania transakcji, które są mniejsze niż określony próg, nadzorcy mogą mieć wyższy limit i wiceprezesów może mieć nadal wyższy limit (lub w ogóle brak limitu). Zabezpieczeń opartych na rolach można również używać, gdy aplikacja wymaga wielu zatwierdzeń w celu wykonania akcji. Taki przypadek może dotyczyć systemu zakupów, w którym każdy pracownik może wygenerować żądanie zakupu, ale tylko agent zakupów może przekonwertować to żądanie na zamówienie, które można wysłać do dostawcy.

Zabezpieczenia oparte na rolach .NET obsługują autoryzację, dzięki czemu informacje o podmiotu zabezpieczeń, który jest tworzony na podstawie skojarzonej tożsamości, są dostępne dla bieżącego wątku. Tożsamość (i podmiot zabezpieczeń, który pomaga zdefiniować) mogą być oparte na koncie usługi Windows lub być tożsamością niestandardową niepowiązaną z Windows kontem. Aplikacje .NET mogą podejmować decyzje dotyczące autoryzacji na podstawie tożsamości lub członkostwa roli podmiotu zabezpieczeń albo w obu tych przypadkach. Rola to nazwany zestaw podmiotów zabezpieczeń, które mają te same uprawnienia w odniesieniu do zabezpieczeń (na przykład dla osoby opiekowej lub menedżera). Podmiot zabezpieczeń może być członkiem co najmniej jednej roli. W związku z tym aplikacje mogą używać członkostwa w rolach, aby określić, czy podmiot zabezpieczeń jest autoryzowany do wykonania żądanej akcji.

Aby zapewnić łatwość użycia i spójność z zabezpieczeniami dostępu do kodu, zabezpieczenia oparte na rolach .NET zapewniają obiekty, które umożliwiają środowisku uruchomienioweowi języka wspólnego wykonywanie autoryzacji w sposób podobny do kontroli zabezpieczeń dostępu do System.Security.Permissions.PrincipalPermission kodu. Klasa reprezentuje tożsamość lub rolę, która musi być zgodna z podmiotem zabezpieczeń i jest zgodna zarówno z deklaratywnym, jak i PrincipalPermission imperatywnym sprawdzaniem zabezpieczeń. Możesz również bezpośrednio uzyskać dostęp do informacji o tożsamości podmiotu zabezpieczeń i w razie potrzeby wykonywać kontrole ról i tożsamości w kodzie.

Program .NET zapewnia obsługę zabezpieczeń opartych na rolach, która jest wystarczająco elastyczna i rozszerzalna, aby spełniała potrzeby szerokiego spektrum aplikacji. Możesz zdecydować się na współdziałanie z istniejącymi infrastrukturami uwierzytelniania, takimi jak usługi COM+ 1.0, lub utworzyć niestandardowy system uwierzytelniania. Zabezpieczenia oparte na rolach szczególnie dobrze nadają się do użycia w ASP.NET internetowych, które są przetwarzane głównie na serwerze. Jednak zabezpieczenia oparte na rolach .NET mogą być używane na kliencie lub serwerze.

Przed przeczytaniem tej sekcji upewnij się, że rozumiesz materiał przedstawiony w sekcji Kluczowe pojęcia dotyczące zabezpieczeń.

Zobacz też