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 da .NET Framework 4.NET Framework 4, le autorizzazioni di identità non vengono utilizzate.Starting with the .NET Framework 4.NET Framework 4, identity permissions are not used.

Nelle versioni .NET Framework 1,0 e 1,1, le autorizzazioni di identità non possono Unrestricted avere un 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 successive, le autorizzazioni di identità possono avere qualsiasi valore dello 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 nelle versioni successive le autorizzazioni di identità hanno lo stesso comportamento delle autorizzazioni che IUnrestrictedPermission implementano l'interfaccia.This means that in version 2.0 and later versions, identity permissions have the same behavior as permissions that implement the IUnrestrictedPermission interface. Ovvero, la richiesta di un'identità ha sempre esito positivo, indipendentemente dall'identità dell'assembly, se all'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 si trova in un assembly di codice con nome sicuro specifico.Use StrongNameIdentityPermission to confirm that the calling code is in a particular strong-named code assembly. Le richieste StrongNameIdentityPermission complete hanno esito positivo solo se tutti gli assembly nello stack hanno 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 StrongNameIdentityPermissionAttribute usano l'attributo hanno esito positivo solo se il chiamante immediato ha l'evidenza corretta.Link demands that use the StrongNameIdentityPermissionAttribute attribute succeed only if the immediate caller has the correct evidence.

Un'identità con nome sicuro si basa su una chiave pubblica di crittografia denominata BLOB (Binary Large Object), che viene facoltativamente combinata 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 fornisce una verifica sicura che il nome è autentico, perché la definizione del nome deve trovarsi in un assembly firmato dalla corrispondente chiave privata.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 dipende da una relazione di trust o da qualsiasi certificato emesso necessariamente 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 .NET Framework 1,0 e 1,1, le richieste sulle autorizzazioni di identità sono valide anche quando l'assembly chiamante è 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. Ciò significa che, anche se l'assembly chiamante dispone di attendibilità totale, la richiesta di 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 successive, le richieste di autorizzazioni di identità sono inefficaci se l'assembly chiamante dispone di attendibilità totale.In the .NET Framework version 2.0 and later, demands for identity permissions are ineffective if the calling assembly has full trust. In questo modo si garantisce la 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 la StrongName pagina di riferimento.For a complete description of strong names, see the StrongName reference page. Per ulteriori informazioni sugli assembly con nome sicuro, vedere assembly con nome sicuro.For more information about strong-named assemblies, see Strong-Named Assemblies.

La StrongNameIdentityPermission classe viene usata per definire i requisiti per il nome sicuro per accedere ai membri pubblici di un tipo.The StrongNameIdentityPermission class is used to define strong-name requirements for accessing the public members of a type. L' StrongNameIdentityPermissionAttribute attributo può essere utilizzato per definire i requisiti del 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 successive, è anche possibile usare l' InternalsVisibleToAttribute attributo per specificare che tutti i tipi non pubblici in tale 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)

Inizializza 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 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.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 rappresenta l'intersezione tra l'autorizzazione corrente e quella 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 subset di quella 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()

Crea 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