Condivisione di una libreria con codice parzialmente attendibile

Nota

In questo argomento viene descritto l'utilizzo di assembly con nome sicuro.Le informazioni seguenti si applicano solo agli assembly di livello 1 o agli assembly che utilizzano criteri di sicurezza legacy.Gli assembly di Codice trasparente per la sicurezza, livello 2 in .NET Framework 4 o versioni successive non sono interessati dai nomi sicuri.Per ulteriori informazioni sulle modifiche apportate al sistema di sicurezza, vedere Modifiche della sicurezza in .NET Framework.Diverse operazioni devono essere completate prima che le librerie condivise possano essere chiamate da codice parzialmente attendibile.Per informazioni preliminari su questo problema, vedere Utilizzo di librerie da codice parzialmente attendibile.È possibile attivare l'accesso parzialmente attendibile alle librerie completando le tre attività descritte nelle sezioni seguenti.

Assegnazione di un nome sicuro all'assembly

Prima che sia possibile condividere la libreria tramite la Global Assembly Cache o utilizzarla come componente scaricato, è necessario creare un nome sicuro. Per assegnare un nome sicuro alla libreria, completare le attività riportate di seguito, descritte in Creazione e utilizzo degli assembly con nome sicuro.

  1. Creare una coppia di chiavi.

  2. Utilizzare l'Assembly Linker (Al.exe) o un attributo di assembly per applicare la coppia di chiavi alla libreria.

Disabilitazione della pretesa LinkDemand

Per disabilitare la richiesta LinkDemand implicita che blocca la chiamata alle librerie condivise da parte di codice parzialmente attendibile, applicare l'attributo AllowPartiallyTrustedCallersAttribute a livello di assembly del codice.

Nell'esempio di codice seguente viene illustrato come applicare l'attributo AllowPartiallyTrustedCallersAttribute a una libreria condivisa.

<assembly:AllowPartiallyTrustedCallersAttribute()>
[assembly:AllowPartiallyTrustedCallersAttribute()] 

Quando è presente questo attributo, tutti gli altri controlli di sicurezza continuano a funzionare come al solito, inclusi gli eventuali attributi della sicurezza dichiarativa a livello di classe o di metodo. Questo attributo blocca solo l'applicazione della pretesa LinkDemand implicita.

Nota

In .NET Framework 4 è stata aggiunta una nuova proprietà alla classe AllowPartiallyTrustedCallersAttribute che consente l'attivazione condizionale dell'attributo.Per ulteriori informazioni, vedere la proprietà PartialTrustVisibilityLevel.

Condivisione della libreria

Dopo avere completato le precedenti attività, è possibile condividere la libreria inserendola nella Global Assembly Cache. Per ulteriori informazioni, vedere Installazione di un assembly nella Global Assembly Cache.

Nota

Per impedire a chiamanti parzialmente attendibili di chiamare classi o membri selezionati nella libreria, è possibile impostare richieste per tali classi o membri.Per ulteriori informazioni, vedere Richiesta dell'attendibilità completa per i tipi all'interno di un assembly APTCA.

Vedere anche

Concetti

Utilizzo di librerie da codice parzialmente attendibile

Codice SecurityTransparent, livello 2

Altre risorse

Sicurezza dall'accesso di codice