ClaimsPrincipalPermissionAttribute Třída

Definice

Představuje atribut zabezpečení používaný k deklarativně přiřazování kontrol přístupu na základě logiky poskytované ClaimsAuthorizationManager instancí v aktuálním kontextu aplikace. Tato třída se nemůže dědit.

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
Dědičnost
ClaimsPrincipalPermissionAttribute
Atributy

Příklady

Následující příklad ukazuje, jak chránit metodu tím, že ji zdobí atributem ClaimsPrincipalPermissionAttribute . Atribut vyhodnotí, jestli má být aktuálnímu objektu zabezpečení udělen přístup, a to s využitím logiky poskytované ClaimsAuthorizationManager instancí v kontextu aplikace. Pokud aktuální objekt zabezpečení není autorizovaný pro zadanou akci se zadaným prostředkem SecurityException , vyvolá se objekt . V opačném případě bude provádění pokračovat.


//
// 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()
{
}

Následující kód XML ukazuje minimální konfiguraci potřebnou k použití vlastního správce autorizace deklarací identity s ClaimsPrincipalPermissionAttribute třídou . Musíte alespoň deklarovat oddíly system.identityModel a v elementu <configSection> a system.identityModel.services pak zadat správce autorizace v elementu <claimsAuthorizationManager> v rámci výchozí konfigurace identity. Tím zajistíte, že se na správce autorizace bude odkazovat z výchozí konfigurace federace. Alternativně můžete zadat název konfigurace identity, pod kterou je správce autorizací zadán v atributu identityConfigurationName<federationConfiguration> elementu.

<?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>  

Poznámky

Slouží ClaimsPrincipalPermissionAttribute k deklarativně vyžádání kontroly přístupu pomocí nakonfigurovaného ClaimsAuthorizationManagerobjektu .

V deklaraci musíte zadat jednu z SecurityAction hodnot, Resource a a .OperationClaimsPrincipalPermissionAttribute Vlastnosti Resource a Operation určují prostředek a akci, pro které musí být aktuální objekt zabezpečení (Thread.CurrentPrincipal) autorizovaný k provedení, aby mohl pokračovat. Pokud aktuální objekt zabezpečení nemá oprávnění k provedení zadané akce (operace) se zadaným prostředkem, vyvolá se objekt .SecurityException

Důležité

Třída ClaimsPrincipalPermissionAttribute používá správce autorizace deklarací nakonfigurovaný objektem IdentityConfiguration , který je nastaven v rámci FederatedAuthentication.FederationConfiguration vlastnosti . To platí ve všech případech, a to i ve scénářích, kdy se WS-Federation nepoužívá; například aktivní webové aplikace (WCF) a konzolové aplikace. Správce autorizace deklarací identity můžete zadat buď v konfiguraci, nebo programově. Pokud chcete určit správce autorizace deklarací identity v konfiguračním souboru, nastavte <element claimsAuthorizationManager> v rámci elementu <identityConfiguration> a ujistěte se, že na tuto konfiguraci identity odkazuje <element federationConfiguration> načtený modulem runtime (například nastavením atributu identityConfigurationName ). Pokud chcete správce autorizace deklarací nastavit programově, zadejte obslužnou rutinu FederatedAuthentication.FederationConfigurationCreated události.

Konstruktory

ClaimsPrincipalPermissionAttribute(SecurityAction)

Inicializuje novou instanci ClaimsPrincipalPermissionAttribute třídy .

Vlastnosti

Action

Získá nebo nastaví akci zabezpečení.

(Zděděno od SecurityAttribute)
Operation

Získá nebo nastaví operaci, pro kterou by měl být aktuální objekt zabezpečení autorizovaný pro zadaný prostředek.

Resource

Získá nebo nastaví prostředek, u kterého by měl být objekt zabezpečení autorizovaný k provedení zadané akce (operace).

TypeId

Při implementaci v odvozené třídě získá jedinečný identifikátor pro tuto Attributetřídu .

(Zděděno od Attribute)
Unrestricted

Získá nebo nastaví hodnotu označující, zda je deklarováno úplné (neomezené) oprávnění k prostředku chráněnému atributem.

(Zděděno od SecurityAttribute)

Metody

CreatePermission()

Vytvoří novou instanci ClaimsPrincipalPermission třídy, která je založená na aktuální instanci.

Equals(Object)

Vrací hodnotu, která určuje, zda je tato instance rovna zadanému objektu.

(Zděděno od Attribute)
GetHashCode()

Vrátí hodnotu hash pro tuto instanci.

(Zděděno od Attribute)
GetType()

Type Získá z aktuální instance.

(Zděděno od Object)
IsDefaultAttribute()

Při přepsání v odvozené třídě označuje, zda je hodnota této instance výchozí hodnotou pro odvozenou třídu.

(Zděděno od Attribute)
Match(Object)

Při přepsání v odvozené třídě vrátí hodnotu, která označuje, zda se tato instance rovná zadanému objektu.

(Zděděno od Attribute)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Explicitní implementace rozhraní

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

Mapuje sadu názvů na odpovídající sadu identifikátorů pro rozesílání.

(Zděděno od Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Načte informace o typu objektu, které lze použít k získání informací o typu pro rozhraní.

(Zděděno od Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Získá počet rozhraní typu informací, které objekt poskytuje (0 nebo 1).

(Zděděno od Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Poskytuje přístup k vlastnostem a metodám vystaveným objektem.

(Zděděno od Attribute)

Platí pro

Viz také