CodeAccessPermission 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.
Define a estrutura subjacente de todas as permissões de acesso ao código.
public ref class CodeAccessPermission abstract : System::Security::IPermission, System::Security::IStackWalk
[System.Serializable]
public abstract class CodeAccessPermission : System.Security.IPermission, System.Security.IStackWalk
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class CodeAccessPermission : System.Security.IPermission, System.Security.IStackWalk
[<System.Serializable>]
type CodeAccessPermission = class
interface IPermission
interface ISecurityEncodable
interface IStackWalk
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type CodeAccessPermission = class
interface IPermission
interface ISecurityEncodable
interface IStackWalk
Public MustInherit Class CodeAccessPermission
Implements IPermission, IStackWalk
- Herança
-
CodeAccessPermission
- Derivado
- Atributos
- Implementações
Comentários
Caution
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.
As permissões de acesso ao código usam uma caminhada de pilha para garantir que todos os chamadores do código tenham recebido uma permissão. Se um objeto de permissão for null, ele será tratado da mesma forma que um objeto de permissão com o estado PermissionState.None.
Normalmente, a pilha de chamadas é representada como crescente, de modo que os métodos mais altos nos métodos de chamada de pilha de chamadas sejam mais baixos na pilha de chamadas.
Os herdadores da CodeAccessPermission classe devem receber confiança total para funcionar corretamente como permissões que estendem a infraestrutura de segurança. Para determinar se os herdadores são totalmente confiáveis, CodeAccessPermission emite um InheritanceDemand para ControlEvidence = true e ControlPolicy = true.
Notas aos Implementadores
Ao herdar, CodeAccessPermissionvocê também deve implementar a IUnrestrictedPermission interface.
Os seguintes CodeAccessPermission membros devem ser substituídos: Copy(), , Intersect(IPermission), IsSubsetOf(IPermission), ToXml(), e FromXml(SecurityElement)Union(IPermission).
Você também deve definir um construtor que usa um PermissionState parâmetro como seu único parâmetro.
Você deve aplicar o SerializableAttribute atributo a uma classe que herda de CodeAccessPermission.
Construtores
| Nome | Description |
|---|---|
| CodeAccessPermission() |
Inicializa uma nova instância da classe CodeAccessPermission. |
Métodos
| Nome | Description |
|---|---|
| Assert() |
Declara que o código de chamada pode acessar o recurso protegido por uma demanda de permissão por meio do código que chama esse método, mesmo que os chamadores mais altos na pilha não tenham recebido permissão para acessar o recurso. O uso Assert() pode criar problemas de segurança. |
| Copy() |
Quando implementado por uma classe derivada, cria e retorna uma cópia idêntica do objeto de permissão atual. |
| Demand() |
Força um SecurityException tempo de execução se todos os chamadores mais altos na pilha de chamadas não tiverem recebido a permissão especificada pela instância atual. |
| Deny() |
Obsoleto.
Impede que os chamadores mais altos na pilha de chamadas usem o código que chama esse método para acessar o recurso especificado pela instância atual. |
| Equals(Object) |
Determina se o objeto especificado CodeAccessPermission é igual ao atual CodeAccessPermission. |
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| FromXml(SecurityElement) |
Quando substituído em uma classe derivada, reconstrói um objeto de segurança com um estado especificado de uma codificação XML. |
| GetHashCode() |
Obtém um código hash para o CodeAccessPermission objeto adequado para uso em algoritmos de hash e estruturas de dados, como uma tabela de hash. |
| GetHashCode() |
Serve como a função hash predefinida. (Herdado de Object) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| Intersect(IPermission) |
Quando implementado por uma classe derivada, cria e retorna uma permissão que é a interseção da permissão atual e da permissão especificada. |
| IsSubsetOf(IPermission) |
Quando implementada por uma classe derivada, determina se a permissão atual é um subconjunto da permissão especificada. |
| MemberwiseClone() |
Cria uma cópia superficial do Objectatual. (Herdado de Object) |
| PermitOnly() |
Impede que os chamadores mais altos na pilha de chamadas usem o código que chama esse método para acessar todos os recursos, exceto o recurso especificado pela instância atual. |
| RevertAll() |
Faz com que todas as substituições anteriores do quadro atual sejam removidas e não estejam mais em vigor. |
| RevertAssert() |
Faz com que qualquer anterior Assert() para o quadro atual seja removido e não esteja mais em vigor. |
| RevertDeny() |
Obsoleto.
Faz com que qualquer anterior Deny() para o quadro atual seja removido e não esteja mais em vigor. |
| RevertPermitOnly() |
Faz com que qualquer anterior PermitOnly() para o quadro atual seja removido e não esteja mais em vigor. |
| ToString() |
Cria e retorna uma representação de cadeia de caracteres do objeto de permissão atual. |
| ToXml() |
Quando substituído em uma classe derivada, cria uma codificação XML do objeto de segurança e seu estado atual. |
| Union(IPermission) |
Quando substituído em uma classe derivada, cria uma permissão que é a união da permissão atual e a permissão especificada. |