ClaimsPrincipalPermissionAttribute Klass

Definition

Representerar ett säkerhetsattribut som används för att deklarativt tilldela åtkomstkontroller baserat på logiken som tillhandahålls av instansen ClaimsAuthorizationManager i den aktuella programkontexten. Det går inte att ärva den här klassen.

public ref class ClaimsPrincipalPermissionAttribute sealed : System::Security::Permissions::CodeAccessSecurityAttribute
[System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method | System.AttributeTargets.Property, AllowMultiple=true)]
public sealed class ClaimsPrincipalPermissionAttribute : System.Security.Permissions.CodeAccessSecurityAttribute
[<System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method | System.AttributeTargets.Property, AllowMultiple=true)>]
type ClaimsPrincipalPermissionAttribute = class
    inherit CodeAccessSecurityAttribute
Public NotInheritable Class ClaimsPrincipalPermissionAttribute
Inherits CodeAccessSecurityAttribute
Arv
ClaimsPrincipalPermissionAttribute
Attribut

Exempel

I följande exempel visas hur du skyddar en metod genom att dekorera den med attributet ClaimsPrincipalPermissionAttribute . Attributet utvärderar om åtkomst ska beviljas till det aktuella huvudkontot genom att utnyttja logiken som tillhandahålls av instansen ClaimsAuthorizationManager i programkontexten. Om det aktuella huvudkontot inte är auktoriserat för den angivna åtgärden på den angivna resursen genereras en SecurityException . Annars fortsätter körningen.


//
// Declarative access check using the permission class. The caller must satisfy both demands.
//
[ClaimsPrincipalPermission(SecurityAction.Demand, Resource = "resource", Operation = "action")]
[ClaimsPrincipalPermission(SecurityAction.Demand, Resource = "resource1", Operation = "action1")]
static void ProtectedMethod()
{
}

Följande XML visar den minsta konfiguration som krävs för att använda en anpassad anspråksauktoriseringshanterare med ClaimsPrincipalPermissionAttribute klassen. Du måste minst deklarera både avsnitten system.identityModelsystem.identityModel.services och i elementet <configSection> och sedan ange din auktoriseringshanterare i ett <claimsAuthorizationManager-element> under standardkonfigurationen för identitet. Detta säkerställer att auktoriseringshanteraren refereras från standardkonfigurationen för federation. Du kan också ange namnet på identitetskonfigurationen under vilken auktoriseringshanteraren anges i identityConfigurationName attributet <federationConfiguration-elementet> .

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <!-- WIF configuration sections -->
    <section name="system.identityModel" type="System.IdentityModel.Configuration.SystemIdentityModelSection, System.IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    <section name="system.identityModel.services" type="System.IdentityModel.Services.Configuration.SystemIdentityModelServicesSection, System.IdentityModel.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
  </configSections>

  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
  </startup>

  <system.identityModel>
    <identityConfiguration>
      <claimsAuthorizationManager type ="MyClaimsAuthorizationManager.MyClaimsAuthorizationManager, MyClaimsAuthorizationManager"/>
    </identityConfiguration>
  </system.identityModel>

</configuration>

Kommentarer

ClaimsPrincipalPermissionAttribute Används för att deklarativt begära en åtkomstkontroll med hjälp av den konfigurerade ClaimsAuthorizationManager.

Du måste ange ett av SecurityAction värdena, ett Resource och ett Operation i ClaimsPrincipalPermissionAttribute deklarationen. Egenskaperna Resource och Operation anger den resurs och åtgärd som det aktuella huvudkontot (Thread.CurrentPrincipal) måste ha behörighet för för att körningen ska kunna fortsätta. Om det aktuella huvudkontot inte har behörighet att utföra den angivna åtgärden (åtgärden) på den angivna resursen genereras en SecurityException .

Important

Klassen ClaimsPrincipalPermissionAttribute använder anspråksauktoriseringshanteraren som konfigurerats av IdentityConfiguration den som anges under FederatedAuthentication.FederationConfiguration egenskapen. Detta gäller i alla fall, även i scenarier där WS-Federation inte används. till exempel aktiva (WCF) webbprogram och konsolprogram. Du kan ange anspråksauktoriseringshanteraren antingen i konfigurationen eller programmatiskt. Ange anspråksauktoriseringshanteraren i en konfigurationsfil genom att ange elementet <claimsAuthorizationManager> under ett <identityConfiguration-element> och se till att den här identitetskonfigurationen refereras av <federationConfiguration-elementet> som läses in av körningen (till exempel genom att ange identityConfigurationName attributet). Ange en hanterare för händelsen för FederatedAuthentication.FederationConfigurationCreated att ställa in anspråksauktoriseringshanteraren programmatiskt.

Konstruktorer

Name Description
ClaimsPrincipalPermissionAttribute(SecurityAction)

Initierar en ny instans av ClaimsPrincipalPermissionAttribute klassen.

Egenskaper

Name Description
Action

Hämtar eller anger en säkerhetsåtgärd.

(Ärvd från SecurityAttribute)
Operation

Hämtar eller anger den åtgärd som det aktuella huvudkontot ska auktoriseras för för den angivna resursen.

Resource

Hämtar eller anger den resurs som huvudkontot ska ha behörighet att utföra den angivna åtgärden (åtgärd).

TypeId

När den implementeras i en härledd klass hämtar du en unik identifierare för den här Attribute.

(Ärvd från Attribute)
Unrestricted

Hämtar eller anger ett värde som anger om fullständig (obegränsad) behörighet till resursen som skyddas av attributet deklareras.

(Ärvd från SecurityAttribute)

Metoder

Name Description
CreatePermission()

Skapar en ny instans av ClaimsPrincipalPermission klassen som baseras på den aktuella instansen.

Equals(Object)

Returnerar ett värde som anger om den här instansen är lika med ett angivet objekt.

(Ärvd från Attribute)
GetHashCode()

Returnerar hash-koden för den här instansen.

(Ärvd från Attribute)
GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
IsDefaultAttribute()

När den åsidosättas i en härledd klass anger du om värdet för den här instansen är standardvärdet för den härledda klassen.

(Ärvd från Attribute)
Match(Object)

När den åsidosätts i en härledd klass returneras ett värde som anger om den här instansen är lika med ett angivet objekt.

(Ärvd från Attribute)
MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
ToString()

Returnerar en sträng som representerar det aktuella objektet.

(Ärvd från Object)

Explicita gränssnittsimplementeringar

Name Description
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Mappar en uppsättning namn till en motsvarande uppsättning av sändningsidentifierare.

(Ärvd från Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Hämtar typinformationen för ett objekt, som kan användas för att hämta typinformationen för ett gränssnitt.

(Ärvd från Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Hämtar antalet typinformationsgränssnitt som ett objekt tillhandahåller (antingen 0 eller 1).

(Ärvd från Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Ger åtkomst till egenskaper och metoder som exponeras av ett objekt.

(Ärvd från Attribute)

Gäller för

Se även