CodeAccessPermission Classe

Definição

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

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.

As permissões de acesso ao código utilizam um stack walk para garantir que todos os utilizadores do código receberam uma permissão. Se um objeto de permissão for null, é tratado da mesma forma que um objeto de permissão com o estado PermissionState.None.

A pilha de chamadas é tipicamente representada como a crescer para baixo, de modo que os métodos mais altos na pilha de chamadas chamam métodos mais baixos na pilha de chamadas.

Os herdeiros da CodeAccessPermission classe devem ter total confiança para funcionar corretamente como permissões que estendem a infraestrutura de segurança. Para determinar que os herdeiros são totalmente de confiança, CodeAccessPermission emite um InheritanceDemand paratrue = ControlEvidence e .ControlPolicy = true

Notas para Implementadores

Quando herdas de CodeAccessPermission, também tens de implementar a IUnrestrictedPermission interface.

Os seguintes CodeAccessPermission elementos devem ser sobrepostos: Copy(), Intersect(IPermission), IsSubsetOf(IPermission), ToXml(), FromXml(SecurityElement), e Union(IPermission).

Também deve definir um construtor que tenha a PermissionState como único parâmetro.

Deve aplicar o SerializableAttribute atributo a uma classe que herda de CodeAccessPermission.

Construtores

Name Description
CodeAccessPermission()

Inicializa uma nova instância da CodeAccessPermission classe.

Métodos

Name Description
Assert()

Declara que o código de chamada pode aceder ao recurso protegido por uma exigência de permissão através do código que chama este método, mesmo que os chamadores mais acima na pilha não tenham recebido permissão para aceder ao recurso. Usar Assert() pode criar problemas de segurança.

Copy()

Quando implementado por uma classe derivada, cria e devolve uma cópia idêntica do objeto de permissão atual.

Demand()

Força a SecurityException em tempo de execução se todos os chamadores superiores na pilha de chamadas não tiverem recebido a permissão especificada pela instância atual.

Deny()
Obsoleto.

Impede que os chamadores mais acima na pilha de chamadas usem o código que chama este método para aceder ao recurso especificado pela instância atual.

Equals(Object)

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

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
FromXml(SecurityElement)

Quando sobrescrito numa classe derivada, reconstrói um objeto de segurança com um estado especificado a partir 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 hash.

GetHashCode()

Serve como função de 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 devolve uma permissão que é a interseção entre a permissão atual e a permissão especificada.

IsSubsetOf(IPermission)

Quando implementado por uma classe derivada, determina se a permissão atual é um subconjunto da permissão especificada.

MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
PermitOnly()

Impede que os chamadores mais acima na pilha de chamadas usem o código que chama este método para aceder a todos os recursos, exceto ao recurso especificado pela instância atual.

RevertAll()

Faz com que todos os overrides anteriores do frame atual sejam removidos e deixem de estar em vigor.

RevertAssert()

Faz com que qualquer frame anterior Assert() do frame atual seja removido e deixe de estar em vigor.

RevertDeny()
Obsoleto.

Faz com que qualquer frame anterior Deny() do frame atual seja removido e deixe de estar em vigor.

RevertPermitOnly()

Faz com que qualquer frame anterior PermitOnly() do frame atual seja removido e deixe de estar em vigor.

ToString()

Cria e devolve uma representação em cadeia do objeto de permissão atual.

ToXml()

Quando sobreposto numa classe derivada, cria uma codificação XML do objeto de segurança e do seu estado atual.

Union(IPermission)

Quando sobreposto numa classe derivada, cria-se uma permissão que é a união da permissão atual e da permissão especificada.

Aplica-se a