Udostępnij za pośrednictwem


Zabezpieczenia oparte na rolach

Role są często używane w aplikacjach finansowych lub biznesowych do wymuszania zasad. Na przykład aplikacja może narzucić limity rozmiaru przetwarzanej transakcji w zależności od tego, czy użytkownik wysyłający żądanie 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, a wiceprezesi mogą mieć jeszcze wyższy limit (lub nie ma limitu w ogóle). Zabezpieczenia oparte na rolach mogą być również używane, gdy aplikacja wymaga wielu zatwierdzeń w celu wykonania akcji. Taki przypadek może być systemem zakupów, w którym każdy pracownik może wygenerować żądanie zakupu, ale tylko agent zakupu może przekonwertować to żądanie na zamówienie zakupu, które można wysłać do dostawcy.

Zabezpieczenia oparte na rolach platformy .NET obsługują autoryzację, udostępniając informacje o jednostce, która jest tworzona z skojarzonej tożsamości dostępnej dla bieżącego wątku. Tożsamość (i podmiot zabezpieczeń, który pomaga zdefiniować) może być oparta na koncie systemu Windows lub być tożsamością niestandardową niepowiązaną z kontem systemu Windows. Aplikacje platformy .NET mogą podejmować decyzje dotyczące autoryzacji na podstawie tożsamości lub członkostwa podmiotu zabezpieczeń albo obu tych elementów. Rola jest nazwanym zestawem podmiotów zabezpieczeń, które mają te same uprawnienia w odniesieniu do zabezpieczeń (takich jak teller lub menedżer). 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ń ma uprawnienia do wykonywania żądanej akcji.

Aby zapewnić łatwość użycia i spójność z zabezpieczeniami dostępu do kodu, zabezpieczenia System.Security.Permissions.PrincipalPermission oparte na rolach platformy .NET zapewniają obiekty, które umożliwiają środowisku uruchomieniowemu języka wspólnego wykonywanie autoryzacji w sposób podobny do kontroli zabezpieczeń dostępu kodu. Klasa PrincipalPermission reprezentuje tożsamość lub rolę, którą musi dopasować podmiot zabezpieczeń i jest zgodny zarówno z deklaratywnymi, jak i imperatywne kontrole zabezpieczeń. W razie potrzeby możesz również uzyskać bezpośredni dostęp do informacji o tożsamości podmiotu zabezpieczeń i przeprowadzić sprawdzanie roli i tożsamości w kodzie.

Platforma .NET zapewnia obsługę zabezpieczeń opartych na rolach, która jest wystarczająco elastyczna i rozszerzalna, aby zaspokoić potrzeby szerokiego spektrum aplikacji. Możesz wybrać współdziałanie z istniejącymi infrastrukturami uwierzytelniania, takimi jak usługi COM+ 1.0, lub utworzyć niestandardowy system uwierzytelniania. Zabezpieczenia oparte na rolach są szczególnie odpowiednie do użycia w aplikacjach internetowych ASP.NET, które są przetwarzane głównie na serwerze. Jednak zabezpieczenia oparte na rolach platformy .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ż