Zabezpieczenia deklaratywne

Składnia zabezpieczeń deklaracyjnych używa atrybutów do umieszczenia informacji o zabezpieczeniach w metadanych kodu. Atrybuty można umieścić na poziomie zestawu, klasy lub członka, aby wskazać typ zlecenia, żądania lub zastąpienia, którego chcesz użyć. Żądania są używane w aplikacjach przeznaczonych dla środowiska uruchomieniowego wspólnego języka, w celu informowania uruchomieniowego systemu bezpieczeństwa o uprawnieniach, których potrzebuje aplikacja lub o tych, których nie chce. Żądania i zastąpienia są używane w bibliotekach, aby pomóc chronić zasoby przed obiektami wywołującym lub zastąpić domyślne zachowanie zabezpieczeń.

Uwaga

W programie .NET Framework 4 zostały wprowadzone ważne zmiany modelu i terminologii zabezpieczeń środowiska .NET Framework.Aby uzyskać informacje o tych zmianach, zobacz Zmiany zabezpieczeń w programie .NET Framework.

Aby używać deklaracyjnych wywołań zabezpieczeń, musisz zainicjować dane stanu obiektu uprawnień, tak aby reprezentował on konkretną formę potrzebnego uprawnienia. Każde uprawnienie wbudowane ma atrybut, do którego jest przekazywane wyliczenie SecurityAction opisujące typ operacji zabezpieczeń, którą chcesz wykonać. Jednak uprawnienia akceptują również własne parametry, które są dla nich wyłączne. Pełny opis parametrów szczególnych dla uprawnień znajduje się sekcji opisującej wbudowane uprawnienia.

Następujący fragment kodu pokazuje składnię deklaracji żądania dotyczącego obecności uprawnienia niestandardowego MyPermission w wywołaniach Twojego kodu. To uprawnienie jest hipotetycznym uprawnienia niestandardowym i nie istnieje w programie .NET Framework. W tym przykładzie deklaracyjne wywołanie jest umieszczone bezpośrednio przed definicją klasy, określając, że to uprawnienie ma zostać stosowane na poziomie klasy. W atrybucie jest przekazywana struktura SecurityAction.Demand w celu określenia, że wywołujący musi mieć to uprawnienie do uruchamiania.

<MyPermission(SecurityAction.Demand, Unrestricted = True)> Public Class MyClass1
   
   Public Sub New()
      'The constructor is protected by the security call.
   End Sub
   
   
   Public Sub MyMethod()
      'This method is protected by the security call.
   End Sub
   
   
   Public Sub YourMethod()
      'This method is protected by the security call.
   End Sub
End Class
[MyPermission(SecurityAction.Demand, Unrestricted = true)]
public class MyClass
{
   public MyClass()
   {
      //The constructor is protected by the security call.
   }

   public void MyMethod()
   {
      //This method is protected by the security call.
   }

   public void YourMethod()
   {
      //This method is protected by the security call.
   }
}

Zobacz też

Informacje

SecurityAction

Koncepcje

Podstawy zabezpieczeń dostępu kodu

Uprawnienia związane z zabezpieczeniami

Inne zasoby

Rozszerzanie metadanych za pomocą atrybutów

Zabezpieczenia dostępu kodu

Składniki samoopisujące się i metadane