PrincipalPermission Classe

Definição

Atenção

Code Access Security is not supported or honored by the runtime.

Permite verificações contra o principal ativo (ver IPrincipal) usando os construtos de linguagem definidos tanto para ações declarativas como imperativas de segurança. Esta classe não pode ser herdada.

public ref class PrincipalPermission sealed : System::Security::IPermission, System::Security::Permissions::IUnrestrictedPermission
[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 PrincipalPermission : System.Security.IPermission, System.Security.Permissions.IUnrestrictedPermission
[System.Serializable]
public sealed class PrincipalPermission : System.Security.IPermission, System.Security.Permissions.IUnrestrictedPermission
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class PrincipalPermission : System.Security.IPermission, System.Security.Permissions.IUnrestrictedPermission
public sealed class PrincipalPermission : System.Security.IPermission, System.Security.Permissions.IUnrestrictedPermission
[<System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type PrincipalPermission = class
    interface IPermission
    interface ISecurityEncodable
    interface IUnrestrictedPermission
[<System.Serializable>]
type PrincipalPermission = class
    interface IPermission
    interface IUnrestrictedPermission
    interface ISecurityEncodable
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type PrincipalPermission = class
    interface IPermission
    interface IUnrestrictedPermission
    interface ISecurityEncodable
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type PrincipalPermission = class
    interface IPermission
    interface ISecurityEncodable
    interface IUnrestrictedPermission
type PrincipalPermission = class
    interface IPermission
    interface ISecurityEncodable
    interface IUnrestrictedPermission
Public NotInheritable Class PrincipalPermission
Implements IPermission, IUnrestrictedPermission
Herança
PrincipalPermission
Atributos
Implementações

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.

Ao passar informação de identidade (nome de utilizador e função) ao construtor, PrincipalPermission pode ser usada para exigir que a identidade do principal ativo corresponda a essa informação.

Para corresponder ao ativo IPrincipal e ao associado IIdentity, tanto a identidade como o papel especificados devem coincidir. Se null for usada uma cadeia identidade, é interpretada como um pedido para corresponder a qualquer identidade. A utilização da null cadeia de papéis corresponde a qualquer função. Por implicação, passar null o parâmetro para name ou role para PrincipalPermission irá corresponder à identidade e aos papéis em qualquer IPrincipal. Também é possível construir um PrincipalPermission que apenas determina se representa IIdentity uma entidade autenticada ou não autenticada. Neste caso, name e role são ignorados.

Ao contrário da maioria das outras permissões, PrincipalPermission não estende CodeAccessPermission. No entanto, implementa a IPermission interface. Isto deve-se ao facto de PrincipalPermission não ser uma permissão de acesso ao código; ou seja, não é concedida com base na identidade do assembly executante. Em vez disso, permite que o código execute ações (Demand, Union, Intersect, e assim sucessivamente) contra a identidade do utilizador atual de forma consistente com a forma como essas ações são realizadas para acesso ao código e permissões de identidade de código.

Importante

Antes de exigir permissão principal, é necessário 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
PrincipalPermission(PermissionState)
Obsoleto.

Inicializa uma nova instância da PrincipalPermission classe com o especificado PermissionState.

PrincipalPermission(String, String, Boolean)
Obsoleto.

Inicializa uma nova instância da PrincipalPermission classe para o estado especificado name, role, e autenticação.

PrincipalPermission(String, String)
Obsoleto.

Inicializa uma nova instância da PrincipalPermission classe para o especificado name e role.

Métodos

Name Description
Copy()
Obsoleto.

Cria e devolve uma cópia idêntica da permissão atual.

Demand()
Obsoleto.

Determina em tempo de execução se o principal atual corresponde ao principal especificado pela permissão atual.

Equals(Object)
Obsoleto.

Determina se o objeto especificado PrincipalPermission é igual à corrente PrincipalPermission.

Equals(Object)
Obsoleto.

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
FromXml(SecurityElement)
Obsoleto.

Reconstrói uma permissão com um estado especificado a partir de uma codificação XML.

GetHashCode()
Obsoleto.

Obtém um código hash para o PrincipalPermission objeto adequado para uso em algoritmos de hash e estruturas de dados, como uma tabela hash.

GetHashCode()
Obsoleto.

Serve como função de hash predefinida.

(Herdado de Object)
GetType()
Obsoleto.

Obtém o Type da instância atual.

(Herdado de Object)
Intersect(IPermission)
Obsoleto.

Cria e devolve uma permissão que é a interseção entre a permissão atual e a permissão especificada.

IsSubsetOf(IPermission)
Obsoleto.

Determina se a permissão atual é um subconjunto da permissão especificada.

IsUnrestricted()
Obsoleto.

Devolve um valor que indica se a permissão atual é irrestrita.

MemberwiseClone()
Obsoleto.

Cria uma cópia superficial do atual Object.

(Herdado de Object)
ToString()
Obsoleto.

Cria e devolve uma cadeia que representa a permissão atual.

ToXml()
Obsoleto.

Cria uma codificação XML da permissão e do seu estado atual.

Union(IPermission)
Obsoleto.

Cria uma permissão que é a união da permissão atual e da permissão especificada.

Aplica-se a

Ver também