CodeAccessPermission Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Definisce la struttura sottostante di tutte le autorizzazioni di accesso al codice.
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
- Ereditarietà
-
CodeAccessPermission
- Derivato
- Attributi
- Implementazioni
Commenti
Caution
La sicurezza dall'accesso al codice è stata deprecata in tutte le versioni di .NET Framework e .NET. Le versioni recenti di .NET non rispettano le annotazioni CAS e generano errori se vengono usate API correlate a CAS. Gli sviluppatori devono cercare mezzi alternativi per eseguire attività di sicurezza.
Le autorizzazioni di accesso al codice usano una procedura dettagliata dello stack per assicurarsi che a tutti i chiamanti del codice sia stata concessa un'autorizzazione. Se un oggetto autorizzazione è null, viene gestito come un oggetto autorizzazione con lo stato PermissionState.None.
Lo stack di chiamate viene in genere rappresentato come in continua crescita, in modo che i metodi più alti nei metodi di chiamata dello stack di chiamate siano inferiori nello stack di chiamate.
Agli eredi della CodeAccessPermission classe deve essere concessa l'attendibilità totale per funzionare correttamente come autorizzazioni che estendono l'infrastruttura di sicurezza. Per determinare che gli eredi sono completamente attendibili, CodeAccessPermission genera un oggetto InheritanceDemand pertrue = ControlEvidence e .ControlPolicy = true
Note per gli implementatori
Quando si eredita da CodeAccessPermission, è necessario implementare anche l'interfaccia IUnrestrictedPermission .
È necessario eseguire l'override dei membri seguentiCodeAccessPermission: Copy(), Intersect(IPermission), IsSubsetOf(IPermission), ToXml()FromXml(SecurityElement), e Union(IPermission).
È inoltre necessario definire un costruttore che accetta un PermissionState oggetto come unico parametro.
È necessario applicare l'attributo SerializableAttribute a una classe che eredita da CodeAccessPermission.
Costruttori
| Nome | Descrizione |
|---|---|
| CodeAccessPermission() |
Inizializza una nuova istanza della classe CodeAccessPermission. |
Metodi
| Nome | Descrizione |
|---|---|
| Assert() |
Dichiara che il codice chiamante può accedere alla risorsa protetta da una richiesta di autorizzazione tramite il codice che chiama questo metodo, anche se ai chiamanti più in alto nello stack non è stata concessa l'autorizzazione per accedere alla risorsa. L'uso Assert() di può creare problemi di sicurezza. |
| Copy() |
Se implementato da una classe derivata, crea e restituisce una copia identica dell'oggetto autorizzazione corrente. |
| Demand() |
Forza un oggetto SecurityException in fase di esecuzione se a tutti i chiamanti più in alto nello stack di chiamate non è stata concessa l'autorizzazione specificata dall'istanza corrente. |
| Deny() |
Obsoleti.
Impedisce ai chiamanti più in alto nello stack di chiamate di usare il codice che chiama questo metodo per accedere alla risorsa specificata dall'istanza corrente. |
| Equals(Object) |
Determina se l'oggetto specificato CodeAccessPermission è uguale all'oggetto corrente CodeAccessPermission. |
| Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
| FromXml(SecurityElement) |
In caso di override in una classe derivata, ricostruisce un oggetto di sicurezza con uno stato specificato da una codifica XML. |
| GetHashCode() |
Ottiene un codice hash per l'oggetto adatto per l'uso CodeAccessPermission negli algoritmi di hash e nelle strutture di dati, ad esempio una tabella hash. |
| GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
| GetType() |
Ottiene il Type dell'istanza corrente. (Ereditato da Object) |
| Intersect(IPermission) |
Se implementato da una classe derivata, crea e restituisce un'autorizzazione che rappresenta l'intersezione dell'autorizzazione corrente e l'autorizzazione specificata. |
| IsSubsetOf(IPermission) |
Se implementato da una classe derivata, determina se l'autorizzazione corrente è un subset dell'autorizzazione specificata. |
| MemberwiseClone() |
Crea una copia superficiale del Objectcorrente. (Ereditato da Object) |
| PermitOnly() |
Impedisce ai chiamanti più in alto nello stack di chiamate di usare il codice che chiama questo metodo per accedere a tutte le risorse, ad eccezione della risorsa specificata dall'istanza corrente. |
| RevertAll() |
Fa sì che tutte le sostituzioni precedenti per il frame corrente vengano rimosse e non siano più effettive. |
| RevertAssert() |
Fa sì che qualsiasi precedente Assert() per il frame corrente venga rimosso e non sia più attivo. |
| RevertDeny() |
Obsoleti.
Fa sì che qualsiasi precedente Deny() per il frame corrente venga rimosso e non sia più attivo. |
| RevertPermitOnly() |
Fa sì che qualsiasi precedente PermitOnly() per il frame corrente venga rimosso e non sia più attivo. |
| ToString() |
Crea e restituisce una rappresentazione di stringa dell'oggetto autorizzazione corrente. |
| ToXml() |
In caso di override in una classe derivata, crea una codifica XML dell'oggetto di sicurezza e del relativo stato corrente. |
| Union(IPermission) |
In caso di override in una classe derivata, crea un'autorizzazione che rappresenta l'unione dell'autorizzazione corrente e l'autorizzazione specificata. |