PrincipalPermissionAttribute Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Permite que ações de segurança para PrincipalPermission sejam aplicadas ao código usando segurança declarativa. Esta 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.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)>]
[<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
Public NotInheritable Class PrincipalPermissionAttribute
Inherits CodeAccessSecurityAttribute
- Herança
- Atributos
Observações
Atenção
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 respeitam as anotações do CAS e produzem erros se as APIs relacionadas ao CAS forem usadas. Os desenvolvedores devem procurar meios alternativos de realizar tarefas de segurança.
PrincipalPermissionAttribute pode ser usado para exigir declarativamente que os utilizadores a executar o seu código pertençam a um papel especificado ou tenham sido autenticados. O uso de Unrestricted cria um PrincipalPermission com Authenticated definido para true e Name e e Role para null.
O âmbito da declaração aceite depende do SecurityAction que é utilizado. PrincipalPermissionAttribute não pode ser aplicado ao nível da montagem.
A informação de segurança declarada por um atributo de segurança é armazenada nos metadados do destino do atributo e é acedida 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 esta classe para exigir permissão principal, deve definir a política principal do domínio de aplicação atual para o valor WindowsPrincipalde enumeração . Por defeito, a política principal é definida para UnauthenticatedPrincipal. Se não definir a política principal para WindowsPrincipal, um pedido de permissão para o principal falhará. O seguinte código deve ser executado antes de ser exigida a permissão principal: AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal).
Construtores
| Name | Description |
|---|---|
| PrincipalPermissionAttribute(SecurityAction) |
Inicializa uma nova instância da PrincipalPermissionAttribute classe com o especificado SecurityAction. |
Propriedades
| Name | Description |
|---|---|
| Action |
Obtém ou define uma ação de segurança. (Herdado de SecurityAttribute) |
| Authenticated |
Recebe ou define um valor que indica se o principal atual foi autenticado pelo fornecedor de segurança baseado em funções subjacente. |
| Name |
Obtém ou define o nome da identidade associada ao principal atual. |
| Role |
Obtém ou estabelece a adesão a um papel de segurança especificado. |
| TypeId |
Quando implementado numa classe derivada, obtém um identificador único para esta Attribute. (Herdado de Attribute) |
| Unrestricted |
Obtém ou define um valor que indica se está declarada permissão total (irrestrita) para o recurso protegido pelo atributo. (Herdado de SecurityAttribute) |
Métodos
| Name | Description |
|---|---|
| CreatePermission() |
Cria e devolve um novo PrincipalPermission. |
| Equals(Object) |
Devolve um valor que indica se esta instância é igual a um objeto especificado. (Herdado de Attribute) |
| GetHashCode() |
Devolve o código de hash para esta instância. (Herdado de Attribute) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| IsDefaultAttribute() |
Quando sobrescrito numa classe derivada, indica se o valor desta instância é o valor padrão para a classe derivada. (Herdado de Attribute) |
| Match(Object) |
Quando sobrescrito numa classe derivada, devolve um valor que indica se esta instância é igual a um objeto especificado. (Herdado de Attribute) |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |
Implementações de Interface Explícita
| Name | Description |
|---|---|
| _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de despacho. (Herdado de Attribute) |
| _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Recupera a informação de tipo de um objeto, que pode ser usada para obter a informação de tipo para uma interface. (Herdado de Attribute) |
| _Attribute.GetTypeInfoCount(UInt32) |
Recupera o número de interfaces de informações de tipo que um objeto fornece (0 ou 1). (Herdado de Attribute) |
| _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Proporciona acesso a propriedades e métodos expostos por um objeto. (Herdado de Attribute) |