StrongNameIdentityPermission StrongNameIdentityPermission StrongNameIdentityPermission StrongNameIdentityPermission Class

Definizione

Definisce l'autorizzazione di identità per i nomi sicuri.Defines the identity permission for strong names. Questa classe non può essere ereditata.This class cannot be inherited.

public ref class StrongNameIdentityPermission sealed : System::Security::CodeAccessPermission
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public sealed class StrongNameIdentityPermission : System.Security.CodeAccessPermission
type StrongNameIdentityPermission = class
    inherit CodeAccessPermission
Public NotInheritable Class StrongNameIdentityPermission
Inherits CodeAccessPermission
Ereditarietà
StrongNameIdentityPermissionStrongNameIdentityPermissionStrongNameIdentityPermissionStrongNameIdentityPermission
Attributi

Commenti

Importante

A partire dal .NET Framework 4.NET Framework 4, non vengono utilizzate le autorizzazioni di identità.Starting with the .NET Framework 4.NET Framework 4, identity permissions are not used.

Nelle versioni 1.0 e 1.1 di .NET Framework, le autorizzazioni di identità non possono avere un Unrestricted valore dello stato di autorizzazione.In the .NET Framework versions 1.0 and 1.1, identity permissions cannot have an Unrestricted permission state value. In .NET Framework versione 2.0 e versioni successive, le autorizzazioni di identità possono avere qualsiasi valore di stato di autorizzazione.In the .NET Framework version 2.0 and later, identity permissions can have any permission state value. Ciò significa che nella versione 2.0 e versioni successive, le autorizzazioni di identità hanno lo stesso comportamento delle autorizzazioni che implementano il IUnrestrictedPermission interfaccia.This means that in version 2.0 and later versions, identity permissions have the same behavior as permissions that implement the IUnrestrictedPermission interface. Vale a dire, una richiesta per un'identità sempre ha esito positivo, indipendentemente dall'identità dell'assembly, se l'assembly è stata concessa l'attendibilità totale.That is, a demand for an identity always succeeds, regardless of the identity of the assembly, if the assembly has been granted full trust.

Usare StrongNameIdentityPermission per confermare che il codice chiamante è in un assembly di codice sicuro specifico.Use StrongNameIdentityPermission to confirm that the calling code is in a particular strong-named code assembly. Richieste complete per StrongNameIdentityPermission esito positivo solo se tutti gli assembly nello stack di avere l'evidenza corretta per soddisfare la richiesta.Full demands for StrongNameIdentityPermission succeed only if all the assemblies in the stack have the correct evidence to satisfy the demand. Le richieste di collegamento che utilizzano il StrongNameIdentityPermissionAttribute attributo esito positivo solo se il chiamante immediato disponga della prova corretta.Link demands that use the StrongNameIdentityPermissionAttribute attribute succeed only if the immediate caller has the correct evidence.

Un'identità del nome sicuro si basa su una chiave crittografica pubblica chiamata un oggetto binario di grandi dimensioni (BLOB), che facoltativamente viene combinato con il nome e la versione di un assembly specifico.A strong name identity is based on a cryptographic public key called a binary large object (BLOB), which is optionally combined with the name and version of a specific assembly. La chiave definisce uno spazio dei nomi univoco e offre la verifica forte che il nome sia autentico, perché la definizione del nome deve essere in un assembly viene firmato dalla chiave privata corrispondente.The key defines a unique namespace and provides strong verification that the name is genuine, because the definition of the name must be in an assembly that is signed by the corresponding private key.

Si noti che la validità della chiave con nome sicuro non richiede l'intervento su una relazione di trust o su qualsiasi certificato emesso per la chiave.Note that the validity of the strong name key is not dependent on a trust relationship or on any certificate necessarily being issued for the key.

Nelle versioni 1.0 e 1.1 di .NET Framework, le richieste per le autorizzazioni di identità sono valide anche quando l'assembly chiamante sia completamente attendibile.In the .NET Framework versions 1.0 and 1.1, demands on the identity permissions are effective even when the calling assembly is fully trusted. Vale a dire, anche se l'assembly chiamante sia totalmente attendibile, una richiesta per un'autorizzazione di identità ha esito negativo se l'assembly non soddisfa i criteri richiesti.That is, even if the calling assembly has full trust, a demand for an identity permission fails if the assembly does not meet the demanded criteria. In .NET Framework versione 2.0 e versioni successive, le richieste di autorizzazioni di identità sono inefficaci se l'assembly chiamante sia totalmente attendibile.In the .NET Framework version 2.0 and later, demands for identity permissions are ineffective if the calling assembly has full trust. Questo assicura una coerenza per tutte le autorizzazioni ed elimina il trattamento delle autorizzazioni di identità come caso speciale.This ensures consistency for all permissions and eliminates the treatment of identity permissions as a special case.

Per una descrizione completa dei nomi sicuri, vedere il StrongName pagina di riferimento.For a complete description of strong names, see the StrongName reference page. Per altre informazioni sugli assembly con nome sicuro, vedere assembly con nomi sicuri.For more information about strong-named assemblies, see Strong-Named Assemblies.

Il StrongNameIdentityPermission classe viene utilizzata per definire i requisiti di un nome sicuro per l'accesso ai membri pubblici di un tipo.The StrongNameIdentityPermission class is used to define strong-name requirements for accessing the public members of a type. Il StrongNameIdentityPermissionAttribute attributo può essere utilizzato per definire i requisiti di un nome sicuro a livello di assembly.The StrongNameIdentityPermissionAttribute attribute can be used to define strong-name requirements at the assembly level. In .NET Framework versione 2.0 e versioni successive, è anche possibile usare il InternalsVisibleToAttribute attributo per specificare che tutti i tipi non pubblici nell'assembly sono visibili a un altro assembly.In the .NET Framework version 2.0 and later, you can also use the InternalsVisibleToAttribute attribute to specify that all nonpublic types in that assembly are visible to another assembly. Per altre informazioni, vedere Friend Assemblies (Assembly friend).For more information, see Friend Assemblies.

Costruttori

StrongNameIdentityPermission(PermissionState) StrongNameIdentityPermission(PermissionState) StrongNameIdentityPermission(PermissionState) StrongNameIdentityPermission(PermissionState)

Inizializza una nuova istanza della classe StrongNameIdentityPermission con l'oggetto PermissionState specificato.Initializes a new instance of the StrongNameIdentityPermission class with the specified PermissionState.

StrongNameIdentityPermission(StrongNamePublicKeyBlob, String, Version) StrongNameIdentityPermission(StrongNamePublicKeyBlob, String, Version) StrongNameIdentityPermission(StrongNamePublicKeyBlob, String, Version) StrongNameIdentityPermission(StrongNamePublicKeyBlob, String, Version)

Consente di inizializzare una nuova istanza della classe StrongNameIdentityPermission per l'identità del nome sicuro specificato.Initializes a new instance of the StrongNameIdentityPermission class for the specified strong name identity.

Proprietà

Name Name Name Name

Ottiene o imposta il nome semplice dell'identità del nome sicuro.Gets or sets the simple name portion of the strong name identity.

PublicKey PublicKey PublicKey PublicKey

Ottiene o imposta il Blob della chiave pubblica che definisce lo spazio dei nomi dell'identità del nome sicuro.Gets or sets the public key blob that defines the strong name identity namespace.

Version Version Version Version

Ottiene o imposta il numero di versione dell'identità.Gets or sets the version number of the identity.

Metodi

Assert() Assert() Assert() Assert()

Dichiara che il codice chiamante può accedere alla risorsa protetta da una richiesta di autorizzazione attraverso il codice che chiama questo metodo anche se ai chiamanti nella posizione più elevata nello stack non è concessa l'autorizzazione ad accedere alla risorsa.Declares that the calling code can access the resource protected by a permission demand through the code that calls this method, even if callers higher in the stack have not been granted permission to access the resource. Se si utilizza Assert() è possibile creare problemi di sicurezza.Using Assert() can create security issues.

(Inherited from CodeAccessPermission)
Copy() Copy() Copy() Copy()

Crea e restituisce una copia identica dell'autorizzazione corrente.Creates and returns an identical copy of the current permission.

Demand() Demand() Demand() Demand()

Forza una SecurityException in fase di esecuzione se ai chiamanti nella parte superiore dello stack di chiamate non sono concesse le autorizzazioni specificate dall'istanza corrente.Forces a SecurityException at run time if all callers higher in the call stack have not been granted the permission specified by the current instance.

(Inherited from CodeAccessPermission)
Deny() Deny() Deny() Deny()

Impedisce ai chiamanti in posizione più elevata nello stack di chiamate di utilizzare il codice che chiama questo metodo per accedere alla risorsa specificata dall'istanza corrente.Prevents callers higher in the call stack from using the code that calls this method to access the resource specified by the current instance.

(Inherited from CodeAccessPermission)
Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Consente di determinare se l'oggetto CodeAccessPermission specificato è uguale all'oggetto CodeAccessPermission corrente.Determines whether the specified CodeAccessPermission object is equal to the current CodeAccessPermission.

(Inherited from CodeAccessPermission)
FromXml(SecurityElement) FromXml(SecurityElement) FromXml(SecurityElement) FromXml(SecurityElement)

Ricostruisce un'autorizzazione con uno stato specificato da una codifica XML.Reconstructs a permission with a specified state from an XML encoding.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

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.Gets a hash code for the CodeAccessPermission object that is suitable for use in hashing algorithms and data structures such as a hash table.

(Inherited from CodeAccessPermission)
GetType() GetType() GetType() GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Inherited from Object)
Intersect(IPermission) Intersect(IPermission) Intersect(IPermission) Intersect(IPermission)

Crea e restituisce un'autorizzazione che è l'intersezione tra l'autorizzazione corrente e l'autorizzazione specificata.Creates and returns a permission that is the intersection of the current permission and the specified permission.

IsSubsetOf(IPermission) IsSubsetOf(IPermission) IsSubsetOf(IPermission) IsSubsetOf(IPermission)

Determina se l'autorizzazione corrente è un sottoinsieme dell'autorizzazione specificata.Determines whether the current permission is a subset of the specified permission.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Inherited from Object)
PermitOnly() PermitOnly() PermitOnly() PermitOnly()

Impedisce ai chiamanti in posizione più elevata nello stack di chiamate di utilizzare il codice che chiama questo metodo per accedere a tutte le risorse ad eccezione della risorsa specificata dall'istanza corrente.Prevents callers higher in the call stack from using the code that calls this method to access all resources except for the resource specified by the current instance.

(Inherited from CodeAccessPermission)
ToString() ToString() ToString() ToString()

Crea e restituisce una rappresentazione in forma di stringa dell'oggetto di autorizzazione corrente.Creates and returns a string representation of the current permission object.

(Inherited from CodeAccessPermission)
ToXml() ToXml() ToXml() ToXml()

Consente di creare una codifica XML dell'autorizzazione e del relativo stato corrente.Creates an XML encoding of the permission and its current state.

Union(IPermission) Union(IPermission) Union(IPermission) Union(IPermission)

Crea un'autorizzazione che rappresenta l'unione dell'autorizzazione corrente e di quella specificata.Creates a permission that is the union of the current permission and the specified permission.

Implementazioni dell'interfaccia esplicita

IPermission.Demand() IPermission.Demand() IPermission.Demand() IPermission.Demand() Inherited from CodeAccessPermission
IStackWalk.Assert() IStackWalk.Assert() IStackWalk.Assert() IStackWalk.Assert() Inherited from CodeAccessPermission
IStackWalk.Demand() IStackWalk.Demand() IStackWalk.Demand() IStackWalk.Demand() Inherited from CodeAccessPermission
IStackWalk.Deny() IStackWalk.Deny() IStackWalk.Deny() IStackWalk.Deny() Inherited from CodeAccessPermission
IStackWalk.PermitOnly() IStackWalk.PermitOnly() IStackWalk.PermitOnly() IStackWalk.PermitOnly() Inherited from CodeAccessPermission

Si applica a

Vedi anche