Elemento <trustInfo> (applicazione ClickOnce)
Descrive le autorizzazioni di sicurezza minime richieste per l'applicazione da eseguire sul computer client.
<trustInfo>
<security>
<applicationRequestMinimum>
<PermissionSet
ID
Unrestricted>
<IPermission
class
version
Unrestricted
/>
</PermissionSet>
<defaultAssemblyRequest
permissionSetReference
/>
<assemblyRequest
name
permissionSetReference
/>
</applicationRequestMinimum>
<requestedPrivileges>
<requestedExecutionLevel
level
uiAccess
/>
</requestedPrivileges>
</security>
</trustInfo>
Elementi e attributi
L'elemento trustInfo è obbligatorio e si trova nello spazio dei nomi asm.v2. Non dispone di attributi e contiene gli elementi riportati di seguito.
security
Obbligatoria. Questo elemento è figlio dell'elemento trustInfo. Contiene l'elemento applicationRequestMinimum e non dispone di attributi.
applicationRequestMinimum
Obbligatoria. Questo elemento è un elemento figlio di security e contiene gli elementi PermissionSet, assemblyRequest e defaultAssemblyRequest. Non dispone di attributi.
PermissionSet
Obbligatoria. Questo elemento è un elemento figlio di applicationRequestMinimum e contiene l'elemento IPermission. Dispone degli attributi riportati di seguito.
Attribute |
Oggetto di descrizione |
---|---|
ID |
Obbligatoria. Identifica il set di autorizzazioni. Questo attributo può avere un valore qualsiasi. All'ID viene fatto riferimento negli attributi defaultAssemblyRequest e assemblyRequest. |
version |
Obbligatoria. Identifica la versione dell'autorizzazione. In genere, il valore è 1. |
IPermission
Facoltativo. Questo elemento è figlio dell'elemento PermissionSet. L'elemento IPermission identifica in modo completo una classe di autorizzazioni in .NET Framework. L'elemento IPermission dispone degli attributi riportati di seguito, ma può avere attributi aggiuntivi corrispondenti alle proprietà della classe di autorizzazioni. Per la sintassi di autorizzazioni specifiche, vedere gli esempi elencati nel file Security.config.
Attribute |
Oggetto di descrizione |
---|---|
class |
Obbligatoria. Identifica la classe di autorizzazioni in base al nome sicuro. Ad esempio, nel codice riportato di seguito viene identificato il tipo FileDialogPermission. System.Security.Permissions.FileDialogPermission, mscorlib, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 |
version |
Obbligatoria. Identifica la versione dell'autorizzazione. In genere, il valore è 1. |
Unrestricted |
Obbligatoria. Indica se per l'applicazione è necessaria una concessione dell'autorizzazione senza restrizioni. Se l'attributo è impostato su true, la concessione dell'autorizzazione è incondizionata. Se è impostato su false o se l'attributo non è definito, tale autorizzazione è limitata in base agli attributi specifici definiti nel tag IPermission. Si considerino le seguenti autorizzazioni:
In questo esempio la dichiarazione di EnvironmentPermission limita l'applicazione alla sola lettura della variabile di ambiente USERNAME, mentre la dichiarazione di FileDialogPermission consente all'applicazione di utilizzare senza restrizioni tutte le classi FileDialog. |
defaultAssemblyRequest
Facoltativo. Identifica il set di autorizzazioni concesso a tutti gli assembly. Questo elemento è un elemento figlio di applicationRequestMinimum e dispone degli attributi riportati di seguito.
Attribute |
Oggetto di descrizione |
---|---|
permissionSetReference |
Obbligatoria. Identifica l'ID del set di autorizzazioni che corrisponde all'autorizzazione predefinita. Il set di autorizzazioni viene dichiarato nell'elemento PermissionSet. |
assemblyRequest
Facoltativo. Identifica le autorizzazioni per un assembly specifico. Questo elemento è un elemento figlio di applicationRequestMinimum e dispone degli attributi riportati di seguito.
Attribute |
Oggetto di descrizione |
---|---|
Name |
Obbligatoria. Identifica il nome dell'assembly. |
permissionSetReference |
Obbligatoria. Identifica l'ID del set di autorizzazioni richiesto dall'assembly. Il set di autorizzazioni viene dichiarato nell'elemento PermissionSet. |
requestedPrivileges
Facoltativo. Questo elemento è un elemento figlio di security e contiene l'elemento requestedExecutionLevel. Non dispone di attributi.
requestedExecutionLevel
Facoltativo. Identifica il livello di sicurezza al quale l'applicazione deve essere eseguita. Questo elemento non contiene elementi figlio e dispone degli attributi seguenti.
Attribute |
Oggetto di descrizione |
---|---|
Level |
Obbligatoria. Indica il livello di sicurezza richiesto dall'applicazione. Di seguito sono riportati i valori possibili: asInvoker, non richiede autorizzazioni aggiuntive. Questo livello non richiede richieste di attendibilità aggiuntive. highestAvailable, richiede le autorizzazioni più elevate disponibili al processo padre. requireAdministrator, richiede autorizzazioni di amministratore complete. Le applicazioni ClickOnce verranno installate solo con il valore asInvoker. L'installazione con qualsiasi altro valore non verrà completata. |
uiAccess |
Facoltativo. Indica se l'applicazione richiede l'accesso agli elementi dell'interfaccia utente protetti. I valori sono true o false e l'impostazione predefinita è false. Solo le applicazioni firmate dovrebbero avere un valore true. |
Note
Se un'applicazione ClickOnce richiede autorizzazioni più ampie rispetto a quelle concesse per impostazione predefinita dal computer client, il gestore di attendibilità di Common Language Runtime chiederà all'utente se desidera concedere all'applicazione questo livello di attendibilità elevato. In caso di risposta negativa, l'applicazione non verrà eseguita. In caso affermativo, verrà eseguita con le autorizzazioni richieste.
Tutte le autorizzazioni richieste mediante defaultAssemblyRequest e assemblyRequest verranno concesse senza chiedere all'utente se il manifesto di distribuzione dispone di una licenza di attendibilità valida.
Per ulteriori informazioni sull'elevazione delle autorizzazioni, vedere Protezione di applicazioni ClickOnce. Per ulteriori informazioni sulla distribuzione dei criteri, vedere Cenni preliminari sulla distribuzione di applicazioni attendibili.
Esempi
Nei tre esempi di codice riportati di seguito vengono illustrati gli elementi trustInfo per le aree di sicurezza denominate predefinite (Internet, LocalIntranet e FullTrust) destinati all'utilizzo nel manifesto dell'applicazione di una distribuzione ClickOnce.
Nel primo esempio viene illustrato l'elemento trustInfo per le autorizzazioni predefinite disponibili nell'area di sicurezza Internet.
<trustInfo>
<security>
<applicationRequestMinimum>
<PermissionSet ID="Internet">
<IPermission
class="System.Security.Permissions.FileDialogPermission, mscorlib, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
version="1"
Access="Open" />
<IPermission
class="System.Security.Permissions.IsolatedStorageFilePermission, mscorlib, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
version="1"
Allowed="DomainIsolationByUser"
UserQuota="10240" />
<IPermission
class="System.Security.Permissions.SecurityPermission, mscorlib, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
version="1"
Flags="Execution" />
<IPermission
class="System.Security.Permissions.UIPermission, mscorlib, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
version="1"
Window="SafeTopLevelWindows"
Clipboard="OwnClipboard" />
<IPermission
class="System.Drawing.Printing.PrintingPermission, System.Drawing, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
version="1"
Level="SafePrinting" />
</PermissionSet>
<defaultAssemblyRequest permissionSetReference="Internet" />
</applicationRequestMinimum>
</security>
</trustInfo>
Nel secondo esempio viene illustrato l'elemento trustInfo per le autorizzazioni predefinite disponibili nell'area di sicurezza LocalIntranet.
<trustInfo>
<security>
<applicationRequestMinimum>
<PermissionSet ID="LocalIntranet">
<IPermission
class="System.Security.Permissions.EnvironmentPermission, mscorlib, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
version="1"
Read="USERNAME" />
<IPermission
class="System.Security.Permissions.FileDialogPermission, mscorlib, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
version="1"
Unrestricted="true" />
<IPermission
class="System.Security.Permissions.IsolatedStorageFilePermission, mscorlib, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
version="1"
Allowed="AssemblyIsolationByUser"
UserQuota="9223372036854775807"
Expiry="9223372036854775807"
Permanent="True" />
<IPermission
class="System.Security.Permissions.ReflectionPermission, mscorlib, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
version="1"
Flags="ReflectionEmit" />
<IPermission
class="System.Security.Permissions.SecurityPermission, mscorlib, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
version="1"
Flags="Assertion, Execution" />
<IPermission
class="System.Security.Permissions.UIPermission, mscorlib, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
version="1"
Unrestricted="true" />
<IPermission
class="System.Net.DnsPermission, System, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
version="1"
Unrestricted="true" />
<IPermission
class="System.Drawing.Printing.PrintingPermission, System.Drawing, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
version="1"
Level="DefaultPrinting" />
<IPermission
class="System.Diagnostics.EventLogPermission, System, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
version="1" />
</PermissionSet>
<defaultAssemblyRequest permissionSetReference="LocalIntranet" />
</applicationRequestMinimum>
</security>
</trustInfo>
Nel terzo esempio viene illustrato l'elemento trustInfo per le autorizzazioni predefinite disponibili nell'area di sicurezza FullTrust.
<trustInfo>
<security>
<applicationRequestMinimum>
<PermissionSet ID="FullTrust" Unrestricted="true" />
<defaultAssemblyRequest permissionSetReference="FullTrust" />
</applicationRequestMinimum>
</security>
</trustInfo>
Vedere anche
Riferimenti
Manifesto dell'applicazione ClickOnce
Concetti
Cenni preliminari sulla distribuzione di applicazioni attendibili