StrongNameIdentityPermission Classe

Definizione

Attenzione

Code Access Security is not supported or honored by the runtime.

Definisce l'autorizzazione di identità per i nomi sicuri. La classe non può essere ereditata.

public ref class StrongNameIdentityPermission sealed : System::Security::CodeAccessPermission
public sealed class StrongNameIdentityPermission : System.Security.CodeAccessPermission
[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 StrongNameIdentityPermission : System.Security.CodeAccessPermission
[System.Serializable]
public sealed class StrongNameIdentityPermission : System.Security.CodeAccessPermission
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class StrongNameIdentityPermission : System.Security.CodeAccessPermission
type StrongNameIdentityPermission = class
    inherit CodeAccessPermission
[<System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type StrongNameIdentityPermission = class
    inherit CodeAccessPermission
[<System.Serializable>]
type StrongNameIdentityPermission = class
    inherit CodeAccessPermission
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type StrongNameIdentityPermission = class
    inherit CodeAccessPermission
Public NotInheritable Class StrongNameIdentityPermission
Inherits CodeAccessPermission
Ereditarietà
StrongNameIdentityPermission
Attributi

Commenti

Attenzione

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 metodi alternativi per eseguire attività di sicurezza.

Importante

A partire da .NET Framework 4, le autorizzazioni di identità non vengono usate.

In .NET Framework versioni 1.0 e 1.1 le autorizzazioni di identità non possono avere un Unrestricted valore di stato di autorizzazione. In .NET Framework versione 2.0 e successive le autorizzazioni di identità possono avere qualsiasi valore di stato di autorizzazione. Ciò significa che nelle versioni 2.0 e successive le autorizzazioni di identità hanno lo stesso comportamento delle autorizzazioni che implementano l'interfaccia IUnrestrictedPermission . Vale a dire, una richiesta di identità ha sempre esito positivo, indipendentemente dall'identità dell'assembly, se all'assembly è stata concessa l'attendibilità totale.

Usare StrongNameIdentityPermission per verificare che il codice chiamante si trova in un particolare assembly di codice con nome sicuro. La richiesta completa di StrongNameIdentityPermission ha esito positivo solo se tutti gli assembly nello stack hanno l'evidenza corretta per soddisfare la richiesta. Le richieste di collegamento che usano l'attributo StrongNameIdentityPermissionAttribute hanno esito positivo solo se il chiamante immediato ha l'evidenza corretta.

Un'identità con nome sicuro si basa su una chiave pubblica crittografica denominata BLOB (Binary Large Object), che è facoltativamente combinata con il nome e la versione di un assembly specifico. La chiave definisce uno spazio dei nomi univoco e fornisce la verifica avanzata che il nome è autentico, perché la definizione del nome deve trovarsi in un assembly firmato dalla chiave privata corrispondente.

Si noti che la validità della chiave con nome sicuro non dipende da una relazione di trust o da qualsiasi certificato che viene necessariamente emesso per la chiave.

In .NET Framework versioni 1.0 e 1.1, le richieste per le autorizzazioni di identità sono valide anche quando l'assembly chiamante è completamente attendibile. Ovvero, anche se l'assembly chiamante ha un trust completo, una richiesta di autorizzazione di identità ha esito negativo se l'assembly non soddisfa i criteri richiesti. In .NET Framework versione 2.0 e successive, le richieste di autorizzazioni di identità sono inefficaci se l'assembly chiamante ha un trust completo. Ciò garantisce la coerenza per tutte le autorizzazioni ed elimina il trattamento delle autorizzazioni di identità come caso speciale.

Per una descrizione completa dei nomi sicuri, vedere la StrongName pagina di riferimento. Per altre informazioni sugli assembly con nome sicuro, vedere Assembly con nome sicuro.

La StrongNameIdentityPermission classe viene usata per definire i requisiti di nome sicuro per l'accesso ai membri pubblici di un tipo. L'attributo StrongNameIdentityPermissionAttribute può essere usato per definire i requisiti di nome sicuro a livello di assembly. In .NET Framework versione 2.0 e successive è anche possibile usare l'attributo InternalsVisibleToAttribute per specificare che tutti i tipi non pubblici in tale assembly sono visibili a un altro assembly. Per altre informazioni, vedere Assembly Friend.

Costruttori

StrongNameIdentityPermission(PermissionState)
Obsoleti.

Inizializza una nuova istanza della classe StrongNameIdentityPermission con l'oggetto PermissionState specificato.

StrongNameIdentityPermission(StrongNamePublicKeyBlob, String, Version)
Obsoleti.

Inizializza una nuova istanza della classe StrongNameIdentityPermission per l'identità del nome sicuro specificato.

Proprietà

Name
Obsoleti.

Ottiene o imposta la parte del nome semplice dell'identità del nome sicuro.

PublicKey
Obsoleti.

Ottiene o imposta il BLOB a chiave pubblica che definisce lo spazio dei nomi dell'identità del nome sicuro.

Version
Obsoleti.

Ottiene o imposta il numero di versione dell'identità.

Metodi

Assert()
Obsoleti.

Dichiara che il codice chiamante può accedere alla risorsa protetta da una richiesta di autorizzazione tramite il codice che chiama il metodo, anche se ai chiamanti più in alto nello stack non è stata concessa l'autorizzazione per accedere alla risorsa. L'uso di Assert() può creare problemi di sicurezza.

(Ereditato da CodeAccessPermission)
Copy()
Obsoleti.

Crea e restituisce una copia identica dell'autorizzazione corrente.

Demand()
Obsoleti.

Forza un oggetto SecurityException in fase di esecuzione se tutti i chiamanti in posizioni superiori nello stack di chiamate non hanno l'autorizzazione specificata dall'istanza corrente.

(Ereditato da CodeAccessPermission)
Deny()
Obsoleti.
Obsoleti.

Impedisce ai chiamanti in posizione più elevata nello stack di chiamate di usare il codice che chiama questo metodo per accedere alla risorsa specificata dall'istanza corrente.

(Ereditato da CodeAccessPermission)
Equals(Object)
Obsoleti.

Consente di determinare se l'oggetto CodeAccessPermission specificato è uguale all'oggetto CodeAccessPermission corrente.

(Ereditato da CodeAccessPermission)
FromXml(SecurityElement)
Obsoleti.

Ricostruisce un'autorizzazione con uno stato specificato da una codifica XML.

GetHashCode()
Obsoleti.

Ottiene un codice hash per l'oggetto CodeAccessPermission adatto per l'uso in algoritmi di hash e in strutture di dati, come una tabella hash.

(Ereditato da CodeAccessPermission)
GetType()
Obsoleti.

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
Intersect(IPermission)
Obsoleti.

Crea e restituisce un'autorizzazione che rappresenta l'intersezione tra l'autorizzazione corrente e quella specificata.

IsSubsetOf(IPermission)
Obsoleti.

Determina se l'autorizzazione corrente è un subset di quella specificata.

MemberwiseClone()
Obsoleti.

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
PermitOnly()
Obsoleti.

Impedisce ai chiamanti in posizione più elevata nello stack di chiamate di usare il codice che chiama questo metodo per accedere a tutte le risorse eccetto quella specificata dall'istanza corrente.

(Ereditato da CodeAccessPermission)
ToString()
Obsoleti.

Crea e restituisce una rappresentazione di stringa dell'oggetto autorizzazione corrente.

(Ereditato da CodeAccessPermission)
ToXml()
Obsoleti.

Crea una codifica XML dell'autorizzazione e del relativo stato corrente.

Union(IPermission)
Obsoleti.

Crea un'autorizzazione che rappresenta l'unione dell'autorizzazione corrente e di quella specificata.

Si applica a

Vedi anche