<trustInfo> Prvek (aplikace ClickOnce)
Popisuje minimální oprávnění zabezpečení nutná pro běh aplikace na klientském počítači.
<trustInfo>
<security>
<applicationRequestMinimum>
<PermissionSet
ID
Unrestricted>
<IPermission
class
version
Unrestricted
/>
</PermissionSet>
<defaultAssemblyRequest
permissionSetReference
/>
<assemblyRequest
name
permissionSetReference
/>
</applicationRequestMinimum>
<requestedPrivileges>
<requestedExecutionLevel
level
uiAccess
/>
</requestedPrivileges>
</security>
</trustInfo>
Atributy a prvky
trustInfo Je vyžadován prvek a je asm.v2 oboru názvů. Neobsahuje žádné atributy a má následující prvky.
security
Povinné. Tento prvek je podřízeným prvku trustInfo. Obsahuje prvek applicationRequestMinimum a nemá žádné atributy.
applicationRequestMinimum
Povinné. Tento prvek je podřízeným prvkem security a obsahuje prvky PermissionSet, assemblyRequest a defaultAssemblyRequest. Tento prvek neobsahuje žádné atributy.
PermissionSet
Povinné. Tento prvek je podřízeným prvkem applicationRequestMinimum a obsahuje prvek IPermission. Tento prvek má následující atributy.
Atribut |
Popis |
---|---|
ID |
Povinné. Identifikuje nastavení oprávnění. Tento atribut může být libovolná hodnota. ID je odkazováno v atributech defaultAssemblyRequest a assemblyRequest. |
version |
Povinné. Identifikuje verzi oprávnění. Obvykle je tato hodnota 1. |
IPermission
Nepovinné. Tento prvek je podřízeným prvku PermissionSet. Prvek IPermission plně identifikuje třída oprávnění v .NET Framework. Prvek IPermission má následující atributy, ale může mít další atributy, které odpovídají vlastnostem třídy oprávnění. Chcete-li zjistit syntaxi pro konkrétní oprávnění, viz Příklady uvedené v souboru Security.config.
Atribut |
Popis |
---|---|
class |
Povinné. Označuje třídu oprávnění pomocí silného názvu. Například následující kód označuje typ FileDialogPermission. System.Security.Permissions.FileDialogPermission, mscorlib, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 |
version |
Povinné. Identifikuje verzi oprávnění. Tato hodnota je obvykle 1. |
Unrestricted |
Povinné. Označuje, zda aplikace potřebuje neomezená oprávnění. Pokud je True udělení oprávnění je nepodmíněné. Pokud je False, nebo pokud tento atribut není definován, je omezen atributy specifickými pro oprávnění definovaných ve značce IPermission. Přijměte následující oprávnění:
V tomto příkladu deklarace pro EnvironmentPermission omezí aplikaci pouze pro čtení proměnné prostředí USERNAME, zatímco deklarace pro FileDialogPermission poskytuje aplikaci neomezené využívání všech FileDialog tříd. |
defaultAssemblyRequest
Nepovinné. Identifikuje sadu oprávnění udělenou všem sestavením. Tento prvek je podřízeným applicationRequestMinimum prvek a má následující atributy.
Atribut |
Popis |
---|---|
permissionSetReference |
Povinné. Určuje ID nastavení oprávnění, které je výchozím oprávněním. Nastavení oprávnění je deklarováno v prvku PermissionSet. |
assemblyRequest
Nepovinné. Určuje oprávnění pro konkrétní sestavení. Tento prvek je podřízeným applicationRequestMinimum prvek a má následující atributy.
Atribut |
Popis |
---|---|
Name |
Povinné. Určuje název sestavení. |
permissionSetReference |
Povinné. Určuje ID nastavení oprávnění, které toto sestavení vyžaduje. Nastavení oprávnění je deklarováno v prvku PermissionSet. |
requestedPrivileges
Nepovinné. Tento prvek je podřízeným prvkem security a obsahuje prvek requestedExecutionLevel. Tento prvek neobsahuje žádné atributy.
requestedExecutionLevel
Nepovinné. Určuje úroveň zabezpečení, při jaké aplikace požádá o spuštění. Tento element nemá žádné podřízené a má následující atributy.
Atribut |
Popis |
---|---|
Level |
Povinné. Označuje, že úroveň zabezpečení aplikace žádaná. Možné hodnoty: asInvoker, nepožadující žádná další oprávnění. Tato úroveň nevyžaduje další důvěryhodnostní výzvy. highestAvailable, požadující nejvyšší oprávnění nadřazeného procesu k dispozici. requireAdministrator, vyžaduje plné oprávnění správce. ClickOnce aplikace je možné instalovat pouze s hodnotou asInvoker. Instalace se jakoukoliv jinou hodnotou se nezdaří. |
uiAccess |
Nepovinné. Určuje, zda aplikace vyžaduje přístup k prvkům chráněného uživatelského rozhraní. Hodnoty jsou buď true nebo false, a výchozí hodnota je false. Pouze podepsané aplikace by měly mít hodnotu true. |
Poznámky
Pokud aplikace ClickOnce požaduje více oprávnění než v klient poskytne ve výchozím nastavení, správce důvěryhodnosti společného jazykového modulu požádá uživatele, zda chce poskytnout tuto zvýšenou úroveň důvěryhodnosti. Pokud Ne, aplikace se nespustí; v opačném případě bude spuštěna s požadovanými oprávněními.
Všechna oprávnění požadovaná pomocí defaultAssemblyRequest a assemblyRequest budou udělena bez vyzvání uživatele, pokud manifest nasazení má platnou licenci.
Další informace o zvýšení úrovně oprávnění naleznete v tématu Zabezpečení aplikací ClickOnce. Další informace o nasazení zásad naleznete v tématu Důvěryhodný přehled nasazení aplikace.
Příklady
Následující tři příklady kódu ilustrují prvky trustInfo pro výchozí jmenované zóny zabezpečení – Internet, LocalIntranet a FullTrust – pro použití v manifestu nasazení aplikace ClickOnce.
První příklad ukazuje prvek trustInfo pro výchozí oprávnění, který je k dispozici v zóně zabezpečení Internetu.
<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>
Druhý příklad ukazuje prvek trustInfo pro výchozí oprávnění, který je k dispozici v zóně zabezpečení 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>
Třetí příklad ukazuje prvek trustInfo pro výchozí oprávnění, který je k dispozici v zóně zabezpečení FullTrust.
<trustInfo>
<security>
<applicationRequestMinimum>
<PermissionSet ID="FullTrust" Unrestricted="true" />
<defaultAssemblyRequest permissionSetReference="FullTrust" />
</applicationRequestMinimum>
</security>
</trustInfo>