CodeAccessPermission 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.
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. |