Elemento <trustInfo> (applicazione ClickOnce)
Descrive le autorizzazioni di sicurezza minime richieste per l'esecuzione dell'applicazione nel computer client.
Sintassi
<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 ha attributi e contiene gli elementi seguenti.
security
Obbligatorio. Questo elemento è figlio dell'elemento trustInfo
. Contiene l'elemento applicationRequestMinimum
e non dispone di attributi.
applicationRequestMinimum
Obbligatorio. Questo elemento è un elemento figlio dell'elemento security
e contiene gli PermissionSet
elementi , assemblyRequest
e defaultAssemblyRequest
. Questo elemento non ha attributi.
PermissionSet
Obbligatorio. Questo elemento è figlio dell'elemento applicationRequestMinimum
e contiene l'elemento IPermission
. Questo elemento ha gli attributi seguenti.
ID
Obbligatorio. Identifica il set di autorizzazioni. Questo attributo può avere qualsiasi valore. Gli attributi
defaultAssemblyRequest
eassemblyRequest
fanno riferimento all'ID.version
Obbligatorio. Identifica la versione dell'autorizzazione. In genere questo valore è
1
.
IPermission
Facoltativo. Questo elemento è figlio dell'elemento PermissionSet
. L'elemento IPermission
identifica completamente una classe di autorizzazione in .NET Framework. L'elemento IPermission
ha gli attributi seguenti, ma può avere attributi aggiuntivi che corrispondono alle proprietà della classe di autorizzazioni. Per scoprire la sintassi di un'autorizzazione specifica, vedere gli esempi elencati nel file Security.config.
class
Obbligatorio. Identifica la classe di autorizzazioni in base al nome sicuro. Ad esempio, il codice seguente identifica il tipo
FileDialogPermission
.System.Security.Permissions.FileDialogPermission, mscorlib, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
version
Obbligatorio. Identifica la versione dell'autorizzazione. In genere questo valore è
1
.Unrestricted
Obbligatorio. Indica se l'applicazione richiede una concessione senza restrizioni di questa autorizzazione. Se
true
, la concessione dell'autorizzazione è non condizionale. Sefalse
, o se questo attributo non è definito, è limitata in base agli attributi specifici dell'autorizzazione definiti nel tagIPermission
. Si analizzino le autorizzazioni seguenti:<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" />
In questo esempio, la dichiarazione per EnvironmentPermission impedisce all'applicazione di leggere solo la variabile di ambiente USERNAME, mentre la dichiarazione per FileDialogPermission consente all'applicazione di usare senza restrizioni tutte le classi FileDialog .
defaultAssemblyRequest
Facoltativo. Identifica il set di autorizzazioni concesso agli assembly. Questo elemento è figlio dell'elemento applicationRequestMinimum
e ha l'attributo seguente.
permissionSetReference
Obbligatorio. Identifica l'ID del set di autorizzazioni che è l'autorizzazione predefinita. Il set di autorizzazioni viene dichiarato nell'elemento
PermissionSet
.
assemblyRequest
Facoltativo. Identifica le autorizzazioni per un assembly specifico. Questo elemento è figlio dell'elemento applicationRequestMinimum
e ha l'attributo seguente.
Name
Obbligatorio. Identifica il nome dell'assembly.
permissionSetReference
Obbligatorio. Identifica l'ID del set di autorizzazioni richiesto dall'assembly. Il set di autorizzazioni viene dichiarato nell'elemento
PermissionSet
.
requestedPrivileges
Facoltativo. Questo elemento è figlio dell'elemento security
e contiene l'elemento requestedExecutionLevel
. Questo elemento non ha attributi.
requestedExecutionLevel
Facoltativo. Identifica il livello di sicurezza a cui eseguire le richieste dell'applicazione. Questo elemento non ha figli e ha gli attributi seguenti.
Level
Obbligatorio. Indica il livello di sicurezza richiesto dall'applicazione. I valori possibili sono:
asInvoker
, non vengono richieste autorizzazioni aggiuntive. Questo livello non richiede prompt di attendibilità aggiuntivi.highestAvailable
, viene richiesto il livello più elevato di autorizzazioni disponibile nel processo padre.requireAdministrator
, vengono richieste autorizzazioni di amministrazione complete.Le applicazioni ClickOnce verranno installate solo con il valore
asInvoker
. L'installazione con qualsiasi altro valore avrà esito negativo.uiAccess
Facoltativo. Indica se l'applicazione richiede l'accesso agli elementi protetti dell'interfaccia utente. I valori sono
true
ofalse
e il valore predefinito è false. Solo le applicazioni firmate devono avere un valore true.
Osservazioni:
Se un'applicazione ClickOnce richiede più autorizzazioni rispetto al computer client concederà per impostazione predefinita, il gestore attendibilità di Common Language Runtime chiederà all'utente se vuole concedere all'applicazione questo livello di attendibilità elevato. Se l'utente rifiuta, l'applicazione non verrà eseguita. In caso contrario, eseguirà le autorizzazioni richieste.
Tutte le autorizzazioni richieste mediante defaultAssemblyRequest
e assemblyRequest
verranno concesse senza chiedere all'utente se il manifesto di distribuzione ha una licenza di attendibilità valida.
Per altre informazioni sull'elevazione delle autorizzazioni, vedere Protezione delle applicazioni ClickOnce. Per altre informazioni sulla distribuzione dei criteri, vedere Trusted Application Deployment Overview.
Esempi
I tre esempi di codice seguenti illustrano trustInfo
gli elementi per le zone di sicurezza denominate predefinite, Internet, LocalIntranet e FullTrust, da usare nel manifesto dell'applicazione della distribuzione ClickOnce.
Il primo esempio descrive 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>
Il secondo esempio descrive 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>
Il terzo esempio descrive 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>