PrincipalPermissionAttribute Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Cuidado
Code Access Security is not supported or honored by the runtime.
Permite que ações PrincipalPermission de segurança sejam aplicadas ao código usando segurança declarativa. Essa classe não pode ser herdada.
public ref class PrincipalPermissionAttribute sealed : System::Security::Permissions::CodeAccessSecurityAttribute
[System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method, AllowMultiple=true, Inherited=false)]
[System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public sealed class PrincipalPermissionAttribute : System.Security.Permissions.CodeAccessSecurityAttribute
[System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method, AllowMultiple=true, Inherited=false)]
[System.Serializable]
public sealed class PrincipalPermissionAttribute : System.Security.Permissions.CodeAccessSecurityAttribute
[System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method, AllowMultiple=true, Inherited=false)]
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class PrincipalPermissionAttribute : System.Security.Permissions.CodeAccessSecurityAttribute
[System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method, AllowMultiple=true, Inherited=false)]
public sealed class PrincipalPermissionAttribute : System.Security.Permissions.CodeAccessSecurityAttribute
[<System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method, AllowMultiple=true, Inherited=false)>]
[<System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type PrincipalPermissionAttribute = class
inherit CodeAccessSecurityAttribute
[<System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method, AllowMultiple=true, Inherited=false)>]
[<System.Serializable>]
type PrincipalPermissionAttribute = class
inherit CodeAccessSecurityAttribute
[<System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method, AllowMultiple=true, Inherited=false)>]
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type PrincipalPermissionAttribute = class
inherit CodeAccessSecurityAttribute
[<System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method, AllowMultiple=true, Inherited=false)>]
type PrincipalPermissionAttribute = class
inherit CodeAccessSecurityAttribute
Public NotInheritable Class PrincipalPermissionAttribute
Inherits CodeAccessSecurityAttribute
- Herança
- Atributos
Comentários
Cuidado
O CAS (Code Access Security) foi preterido em todas as versões do .NET Framework e do .NET. As versões recentes do .NET não honram as anotações CAS e geram erros se as APIs relacionadas ao CAS forem usadas. Os desenvolvedores devem buscar meios alternativos para realizar tarefas de segurança.
PrincipalPermissionAttribute pode ser usado para exigir declarativamente que os usuários que executam seu código pertençam a uma função especificada ou tenham sido autenticados. O uso de Unrestricted cria um PrincipalPermission com Authenticated definido como true e Name e Role definidos como null.
O escopo da declaração permitida depende do SecurityAction que é usado. PrincipalPermissionAttribute não pode ser aplicado no nível do assembly.
As informações de segurança declaradas por um atributo de segurança são armazenadas nos metadados do destino do atributo e são acessadas pelo sistema em tempo de execução. Os atributos de segurança são usados apenas para segurança declarativa. Para segurança imperativa, use a classe de permissão correspondente.
Importante
Antes de usar essa classe para exigir permissão de entidade de segurança, você deve definir a política principal do domínio do aplicativo atual para o valor WindowsPrincipalde enumeração. Por padrão, a política principal é definida como UnauthenticatedPrincipal. Se você não definir a política principal como WindowsPrincipal, uma demanda por permissão principal falhará. O código a seguir deve ser executado antes que a permissão principal seja exigida: AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal).
Construtores
| Nome | Description |
|---|---|
| PrincipalPermissionAttribute(SecurityAction) |
Obsoleto.
Inicializa uma nova instância da PrincipalPermissionAttribute classe com a especificada SecurityAction. |
Propriedades
| Nome | Description |
|---|---|
| Action |
Obsoleto.
Obtém ou define uma ação de segurança. (Herdado de SecurityAttribute) |
| Authenticated |
Obsoleto.
Obtém ou define um valor que indica se a entidade de segurança atual foi autenticada pelo provedor de segurança baseado em função subjacente. |
| Name |
Obsoleto.
Obtém ou define o nome da identidade associada à entidade de segurança atual. |
| Role |
Obsoleto.
Obtém ou define a associação em uma função de segurança especificada. |
| TypeId |
Obsoleto.
Quando implementado em uma classe derivada, obtém um identificador exclusivo para esse Attribute. (Herdado de Attribute) |
| Unrestricted |
Obsoleto.
Obtém ou define um valor que indica se a permissão completa (irrestrita) para o recurso protegido pelo atributo é declarada. (Herdado de SecurityAttribute) |
Métodos
| Nome | Description |
|---|---|
| CreatePermission() |
Obsoleto.
Cria e retorna um novo PrincipalPermission. |
| Equals(Object) |
Obsoleto.
Retorna um valor que indica se essa instância é igual a um objeto especificado. (Herdado de Attribute) |
| GetHashCode() |
Obsoleto.
Retorna o código hash dessa instância. (Herdado de Attribute) |
| GetType() |
Obsoleto.
Obtém o Type da instância atual. (Herdado de Object) |
| IsDefaultAttribute() |
Obsoleto.
Quando substituído em uma classe derivada, indica se o valor dessa instância é o valor padrão para a classe derivada. (Herdado de Attribute) |
| Match(Object) |
Obsoleto.
Quando substituído em uma classe derivada, retorna um valor que indica se essa instância é igual a um objeto especificado. (Herdado de Attribute) |
| MemberwiseClone() |
Obsoleto.
Cria uma cópia superficial do Objectatual. (Herdado de Object) |
| ToString() |
Obsoleto.
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |
Implantações explícitas de interface
| Nome | Description |
|---|---|
| _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Obsoleto.
Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de expedição. (Herdado de Attribute) |
| _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Obsoleto.
Recupera as informações de tipo de um objeto, que podem ser usadas para obter as informações de tipo de uma interface. (Herdado de Attribute) |
| _Attribute.GetTypeInfoCount(UInt32) |
Obsoleto.
Retorna o número de interfaces de informações do tipo que um objeto fornece (0 ou 1). (Herdado de Attribute) |
| _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Obsoleto.
Fornece acesso a propriedades e métodos expostos por um objeto. (Herdado de Attribute) |