PrincipalPermission 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.
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 |
| PrincipalPermission(String, String) |
Obsoleto.
Inicializa uma nova instância da PrincipalPermission classe para o especificado |
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. |