PrincipalPermission 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 verificações em relação à entidade de segurança ativa (consulte IPrincipal) usando os constructos de linguagem definidos para ações de segurança declarativas e imperativas. Essa 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
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.
Ao passar informações de identidade (nome de usuário e função) para o construtor, PrincipalPermission pode ser utilizado para requerer que a identidade do principal ativo seja compatível com essas informações.
Para corresponder ao ativo IPrincipal e ao associado IIdentity, a identidade e a função especificadas devem corresponder. Se null a cadeia de caracteres de identidade for usada, ela será interpretada como uma solicitação para corresponder a qualquer identidade. O uso da cadeia de caracteres de null função corresponderá a qualquer função. Por implicação, passar null parâmetro para name ou role para PrincipalPermission corresponderá à identidade e às funções em qualquer IPrincipal. Também é possível construir um PrincipalPermission que determina apenas se a IIdentity entidade representa uma entidade autenticada ou não autenticada. Nesse caso, name e role são ignorados.
Ao contrário da maioria das outras permissões, PrincipalPermission não se estende CodeAccessPermission. No entanto, ele implementa a IPermission interface. Isso ocorre porque PrincipalPermission não é uma permissão de acesso de código; ou seja, ela não é concedida com base na identidade do assembly em execução. Em vez disso, ele permite que o código execute ações (Demande UnionIntersectassim por diante) na identidade do usuário atual de forma consistente com a maneira como essas ações são executadas para acesso ao código e permissões de identidade de código.
Importante
Antes de uma demanda por permissão de entidade de segurança, é necessário 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 |
|---|---|
| PrincipalPermission(PermissionState) |
Obsoleto.
Inicializa uma nova instância da PrincipalPermission classe com a especificada PermissionState. |
| PrincipalPermission(String, String, Boolean) |
Obsoleto.
Inicializa uma nova instância da PrincipalPermission classe para o status de |
| PrincipalPermission(String, String) |
Obsoleto.
Inicializa uma nova instância da PrincipalPermission classe para o especificado |
Métodos
| Nome | Description |
|---|---|
| Copy() |
Obsoleto.
Cria e retorna uma cópia idêntica da permissão atual. |
| Demand() |
Obsoleto.
Determina em tempo de execução se a entidade de segurança atual corresponde à entidade de segurança especificada pela permissão atual. |
| Equals(Object) |
Obsoleto.
Determina se o objeto especificado PrincipalPermission é igual ao atual 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 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 de hash. |
| GetHashCode() |
Obsoleto.
Serve como a função de hash padrão. (Herdado de Object) |
| GetType() |
Obsoleto.
Obtém o Type da instância atual. (Herdado de Object) |
| Intersect(IPermission) |
Obsoleto.
Cria e retorna uma permissão que é a interseção da permissão atual e da permissão especificada. |
| IsSubsetOf(IPermission) |
Obsoleto.
Determina se a permissão atual é um subconjunto da permissão especificada. |
| IsUnrestricted() |
Obsoleto.
Retorna um valor que indica se a permissão atual é irrestrita. |
| MemberwiseClone() |
Obsoleto.
Cria uma cópia superficial do Objectatual. (Herdado de Object) |
| ToString() |
Obsoleto.
Cria e retorna uma cadeia de caracteres que representa a permissão atual. |
| ToXml() |
Obsoleto.
Cria uma codificação XML da permissão e seu estado atual. |
| Union(IPermission) |
Obsoleto.
Cria uma permissão que é a união da permissão atual e da permissão especificada. |