ClaimsPrincipalPermissionAttribute Classe

Definizione

Rappresenta un attributo di sicurezza utilizzato per assegnare i controlli di accesso in modo dichiarativo in base alla logica fornita dall'istanza di ClaimsAuthorizationManager nel contesto dell'applicazione corrente.Represents a security attribute used to declaratively assign access checks based on the logic provided by the ClaimsAuthorizationManager instance in the current application context. Questa classe non può essere ereditata.This class cannot be inherited.

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
type ClaimsPrincipalPermissionAttribute = class
    inherit CodeAccessSecurityAttribute
Public NotInheritable Class ClaimsPrincipalPermissionAttribute
Inherits CodeAccessSecurityAttribute
Ereditarietà
ClaimsPrincipalPermissionAttribute
Attributi

Esempi

Nell'esempio seguente viene illustrato come proteggere un metodo mediante la decorazione con l' ClaimsPrincipalPermissionAttribute attributo.The following example shows how to protect a method by decorating it with the ClaimsPrincipalPermissionAttribute attribute. L'attributo valuterà se è necessario concedere l'accesso all'oggetto Principal corrente sfruttando la logica fornita dall' ClaimsAuthorizationManager istanza nel contesto dell'applicazione.The attribute will evaluate whether access should be granted to the current principal by leveraging the logic provided by the ClaimsAuthorizationManager instance in the application context. Se l'entità corrente non è autorizzata per l'azione specificata sulla risorsa specificata, viene SecurityException generata un'eccezione; in caso contrario, l'esecuzione continua.If the current principal is not authorized for the specified action on the specified resource, a SecurityException is thrown; otherwise, execution proceeds.


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

Nel codice XML seguente viene illustrata la configurazione minima necessaria per utilizzare un gestore autorizzazioni delle ClaimsPrincipalPermissionAttribute attestazioni personalizzato con la classe.The following XML shows the minimum configuration required to use a custom claims authorization manager with the ClaimsPrincipalPermissionAttribute class. È necessario, come minimo, dichiarare system.identityModel entrambe le system.identityModel.services sezioni e nell' <configSection> elemento e quindi specificare gestione autorizzazioni in un <elemento ClaimsAuthorizationManager nel> configurazione predefinita dell'identità.You must, at a minimum, declare both the system.identityModel and the system.identityModel.services sections in the <configSection> element and then specify your authorization manager in a <claimsAuthorizationManager> element under the default identity configuration. In questo modo verrà fatto riferimento a gestione autorizzazioni dalla configurazione di federazione predefinita.This will ensure that your authorization manager is referenced from the default federation configuration. In alternativa, è possibile specificare il nome della configurazione di identità in cui è specificato il gestore autorizzazioni nell' identityConfigurationName attributo <dell'elemento federationConfiguration.> Alternatively, you can specify the name of the identity configuration under which your authorization manager is specified in the identityConfigurationName attribute of the <federationConfiguration> element.

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

Commenti

Viene utilizzato per richiedere in modo dichiarativo un controllo di accesso utilizzando l'oggetto configurato ClaimsAuthorizationManager. ClaimsPrincipalPermissionAttributeThe ClaimsPrincipalPermissionAttribute is used to declaratively request an access check using the configured ClaimsAuthorizationManager.

È necessario specificare uno SecurityAction dei valori Resource , e Operation nella ClaimsPrincipalPermissionAttribute dichiarazione.You must specify one of the SecurityAction values, a Resource and an Operation in your ClaimsPrincipalPermissionAttribute declaration. Le Resource proprietà Operation e specificano la risorsa e l'azione per la quale l'Thread.CurrentPrincipalentità corrente () deve essere autorizzata affinché l'esecuzione continui.The Resource and Operation properties specify the resource and action for which the current principal (Thread.CurrentPrincipal) must be authorized for execution to proceed. Se l'oggetto Principal corrente non è autorizzato a eseguire l'azione (operazione) specificata sulla risorsa specificata, viene SecurityException generata un'eccezione.If the current principal is not authorized to perform the specified action (operation) on the specified resource, a SecurityException is thrown.

Importante

La ClaimsPrincipalPermissionAttribute classe utilizza la gestione autorizzazioni delle attestazioni configurata dall'oggetto IdentityConfiguration impostato FederatedAuthentication.FederationConfiguration nella proprietà.The ClaimsPrincipalPermissionAttribute class uses the claims authorization manager configured by the IdentityConfiguration that is set under the FederatedAuthentication.FederationConfiguration property. Questo vale in tutti i casi, anche negli scenari in cui non viene usato WS-Federation. ad esempio applicazioni Web e applicazioni console attive (WCF).This is true in all cases, even in scenarios where WS-Federation is not used; for example, active (WCF) Web applications and Console applications. È possibile specificare la gestione autorizzazioni delle attestazioni in configurazione o a livello di codice.You can specify the claims authorization manager either in configuration or programmatically. Per specificare la gestione autorizzazioni delle attestazioni in un file di configurazione <,> impostare l'elemento <ClaimsAuthorizationManager> in un elemento IdentityConfiguration e verificare che viene fatto riferimento alla configurazione dell' identityConfigurationName <identità dall'elemento federationConfiguration> che viene caricato dal runtime (ad esempio, impostando l'attributo).To specify the claims authorization manager in a configuration file, set the <claimsAuthorizationManager> element under an <identityConfiguration> element and ensure that this identity configuration is referenced by the <federationConfiguration> element that is loaded by the runtime (for example, by setting the identityConfigurationName attribute). Per impostare la gestione autorizzazioni delle attestazioni a livello di codice, fornire FederatedAuthentication.FederationConfigurationCreated un gestore per l'evento.To set the claims authorization manager programmatically, provide a handler for the FederatedAuthentication.FederationConfigurationCreated event.

Costruttori

ClaimsPrincipalPermissionAttribute(SecurityAction)

Inizializza una nuova istanza della classe ClaimsPrincipalPermissionAttribute.Initializes a new instance of the ClaimsPrincipalPermissionAttribute class.

Proprietà

Action

Ottiene o imposta un'azione di sicurezza.Gets or sets a security action.

(Ereditato da SecurityAttribute)
Operation

Ottiene o imposta l'operazione per la quale l'entità corrente deve essere autorizzata sulla risorsa specificata.Gets or sets the operation for which the current principal should be authorized on the specified resource.

Resource

Ottiene o imposta la risorsa sulla quale l'entità deve essere autorizzata a eseguire l'azione (operazione) specificata.Gets or sets the resource on which the principal should be authorized to perform the specified action (operation).

TypeId

Quando è implementata in una classe derivata, ottiene un identificatore univoco della classe Attribute.When implemented in a derived class, gets a unique identifier for this Attribute.

(Ereditato da Attribute)
Unrestricted

Ottiene o imposta un valore che indica se esiste una dichiarazione di autorizzazione completa, ovvero senza restrizioni, alla risorsa protetta dall’attributo.Gets or sets a value indicating whether full (unrestricted) permission to the resource protected by the attribute is declared.

(Ereditato da SecurityAttribute)

Metodi

CreatePermission()

Crea una nuova istanza della classe ClaimsPrincipalPermission basata sull'istanza corrente.Creates new instance of the ClaimsPrincipalPermission class that is based on the current instance.

Equals(Object)

Restituisce un valore che indica se questa istanza è uguale a un oggetto specificato.Returns a value that indicates whether this instance is equal to a specified object.

(Ereditato da Attribute)
GetHashCode()

Restituisce il codice hash per l'istanza.Returns the hash code for this instance.

(Ereditato da Attribute)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Ereditato da Object)
IsDefaultAttribute()

In caso di override in una classe derivata, indica se il valore di questa istanza è il valore predefinito per la classe derivata.When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(Ereditato da Attribute)
Match(Object)

Quando è sottoposto a override in una classe derivata, restituisce un valore che indica se questa istanza equivale a un oggetto specificato.When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(Ereditato da Attribute)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

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

Esegue il mapping di un set di nomi a un set corrispondente di ID dispatch.Maps a set of names to a corresponding set of dispatch identifiers.

(Ereditato da Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Recupera le informazioni sul tipo relative a un oggetto, che possono essere usate per ottenere informazioni sul tipo relative a un'interfaccia.Retrieves the type information for an object, which can be used to get the type information for an interface.

(Ereditato da Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Recupera il numero delle interfacce di informazioni sul tipo fornite da un oggetto (0 o 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Ereditato da Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Fornisce l'accesso a proprietà e metodi esposti da un oggetto.Provides access to properties and methods exposed by an object.

(Ereditato da Attribute)

Si applica a

Vedi anche