Compartir vía


ClaimsPrincipalPermissionAttribute Clase

Definición

Representa un atributo de seguridad utilizado para asignar mediante declaración comprobaciones de acceso en función de la lógica proporcionada por la instancia de ClaimsAuthorizationManager en el contexto de aplicación actual. Esta clase no puede heredarse.

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
Herencia
ClaimsPrincipalPermissionAttribute
Atributos

Ejemplos

En el ejemplo siguiente se muestra cómo proteger un método decorando con el ClaimsPrincipalPermissionAttribute atributo . El atributo evaluará si se debe conceder acceso a la entidad de seguridad actual aprovechando la lógica proporcionada por la ClaimsAuthorizationManager instancia en el contexto de la aplicación. Si la entidad de seguridad actual no está autorizada para la acción especificada en el recurso especificado, se produce una SecurityException excepción ; de lo contrario, la ejecución continúa.


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

El siguiente XML muestra la configuración mínima necesaria para usar un administrador de autorización de notificaciones personalizado con la ClaimsPrincipalPermissionAttribute clase . Debe declarar, como mínimo, las system.identityModel secciones y system.identityModel.services del <configSection> elemento y, a continuación, especificar el administrador de autorización en un <elemento claimsAuthorizationManager> en la configuración de identidad predeterminada. Esto garantizará que se haga referencia al administrador de autorización desde la configuración de federación predeterminada. Como alternativa, puede especificar el nombre de la configuración de identidad en la que se especifica el administrador de autorización en el identityConfigurationName atributo del <elemento federationConfiguration> .

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

Comentarios

ClaimsPrincipalPermissionAttribute se usa para solicitar mediante declaración una comprobación de acceso mediante el configuradoClaimsAuthorizationManager.

Debe especificar uno de los SecurityAction valores , a Resource y en Operation la ClaimsPrincipalPermissionAttribute declaración . Las Resource propiedades y Operation especifican el recurso y la acción para los que se debe autorizar la entidad de seguridad actual (Thread.CurrentPrincipal) para que continúe la ejecución. Si la entidad de seguridad actual no está autorizada para realizar la acción especificada (operación) en el recurso especificado, se produce una SecurityException excepción .

Importante

La ClaimsPrincipalPermissionAttribute clase usa el administrador de autorización de notificaciones configurado por el IdentityConfiguration que se establece en la FederatedAuthentication.FederationConfiguration propiedad . Esto es cierto en todos los casos, incluso en escenarios en los que no se utiliza WS-Federation; por ejemplo, aplicaciones web activas (WCF) y aplicaciones de consola. Puede especificar el administrador de autorización de notificaciones en la configuración o mediante programación. Para especificar el administrador de autorización de notificaciones en un archivo de configuración, establezca el <elemento claimsAuthorizationManager> en un <elemento identityConfiguration> y asegúrese de que el <elemento federationConfiguration> al que hace referencia esta configuración de identidad (por ejemplo, estableciendo el identityConfigurationName atributo ). Para establecer el administrador de autorización de notificaciones mediante programación, proporcione un controlador para el FederatedAuthentication.FederationConfigurationCreated evento.

Constructores

ClaimsPrincipalPermissionAttribute(SecurityAction)

Inicializa una nueva instancia de la clase ClaimsPrincipalPermissionAttribute.

Propiedades

Action

Obtiene o establece una acción de seguridad.

(Heredado de SecurityAttribute)
Operation

Obtiene o establece la operación para la que la entidad de seguridad actual debe recibir autorización en el recurso especificado.

Resource

Obtiene o establece el recurso en que la entidad de seguridad debe recibir autorización para realizar la acción (operación) especificada.

TypeId

Cuando se implementa en una clase derivada, obtiene un identificador único para este Attribute.

(Heredado de Attribute)
Unrestricted

Obtiene o establece un valor que indica si se declara el permiso completo (sin restricciones) al recurso protegido por el atributo.

(Heredado de SecurityAttribute)

Métodos

CreatePermission()

Crea una nueva instancia de la clase ClaimsPrincipalPermission basándose en la instancia actual.

Equals(Object)

Devuelve un valor que indica si esta instancia es igual que un objeto especificado.

(Heredado de Attribute)
GetHashCode()

Devuelve el código hash de esta instancia.

(Heredado de Attribute)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
IsDefaultAttribute()

Si se reemplaza en una clase derivada, indica si el valor de esta instancia es el valor predeterminado de la clase derivada.

(Heredado de Attribute)
Match(Object)

Cuando se invalida en una clase derivada, devuelve un valor que indica si esta instancia es igual a un objeto especificado.

(Heredado de Attribute)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Implementaciones de interfaz explícitas

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

Asigna un conjunto de nombres a un conjunto correspondiente de identificadores de envío.

(Heredado de Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Obtiene la información de tipos de un objeto, que puede utilizarse para obtener la información de tipos de una interfaz.

(Heredado de Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Recupera el número de interfaces de información de tipo que proporciona un objeto (0 ó 1).

(Heredado de Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Proporciona acceso a las propiedades y los métodos expuestos por un objeto.

(Heredado de Attribute)

Se aplica a

Consulte también