<trustInfo> – element (aplikace ClickOnce)
Popisuje minimální oprávnění zabezpečení požadovaná pro spuštění aplikace v klientském počítači.
Syntaxe
<trustInfo>
<security>
<applicationRequestMinimum>
<PermissionSet
ID
Unrestricted>
<IPermission
class
version
Unrestricted
/>
</PermissionSet>
<defaultAssemblyRequest
permissionSetReference
/>
<assemblyRequest
name
permissionSetReference
/>
</applicationRequestMinimum>
<requestedPrivileges>
<requestedExecutionLevel
level
uiAccess
/>
</requestedPrivileges>
</security>
</trustInfo>
Prvky a atributy
Prvek trustInfo
je povinný a je v asm.v2
oboru názvů. Neobsahuje žádné atributy a obsahuje následující prvky.
security
Povinný: Tento prvek je podřízený prvek trustInfo
. Obsahuje applicationRequestMinimum
prvek a nemá žádné atributy.
applicationRequestMinimum
Povinný: Tento prvek je podřízený prvek security
a obsahuje PermissionSet
, assemblyRequest
a defaultAssemblyRequest
elementy. Tento prvek nemá žádné atributy.
Sada oprávnění
Povinný: Tento prvek je podřízený prvek applicationRequestMinimum
a obsahuje IPermission
prvek. Tento prvek má následující atributy.
ID
Povinný: Identifikuje sadu oprávnění. Tento atribut může být libovolná hodnota. ID je odkazováno v atributech
defaultAssemblyRequest
.assemblyRequest
version
Povinný: Identifikuje verzi oprávnění. Za normálních okolností je
1
tato hodnota .
IPermission
Nepovinné. Tento prvek je podřízený prvek PermissionSet
. Element IPermission
plně identifikuje třídu oprávnění v rozhraní .NET Framework. Element IPermission
má následující atributy, ale může mít další atributy, které odpovídají vlastnostem třídy oprávnění. Pokud chcete zjistit syntaxi pro konkrétní oprávnění, podívejte se na příklady uvedené v souboru Security.config.
class
Povinný: Identifikuje třídu oprávnění silným názvem. Například následující kód identifikuje
FileDialogPermission
typ.System.Security.Permissions.FileDialogPermission, mscorlib, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
version
Povinný: Identifikuje verzi oprávnění. Obvykle je
1
tato hodnota .Unrestricted
Povinný: Určuje, jestli aplikace potřebuje neomezené udělení tohoto oprávnění. Pokud
true
je udělení oprávnění nepodmíněné. Pokudfalse
nebo pokud tento atribut není definován, je omezen podle atributů specifických pro oprávnění definovaných naIPermission
značce. Proveďte následující oprávnění:<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" />
V tomto příkladu deklarace omezuje EnvironmentPermission aplikaci na čtení pouze proměnné prostředí USERNAME, zatímco deklarace pro FileDialogPermission dává aplikaci neomezené použití všech FileDialog tříd.
defaultAssemblyRequest
Nepovinné. Identifikuje sadu oprávnění udělených všem sestavením. Tento prvek je podřízený prvek applicationRequestMinimum
a má následující atribut.
permissionSetReference
Povinný: Identifikuje ID sady oprávnění, která je výchozím oprávněním. Sada oprávnění je deklarována v elementu
PermissionSet
.
assemblyRequest
Nepovinné. Identifikuje oprávnění pro konkrétní sestavení. Tento prvek je podřízený applicationRequestMinimum
prvek a má následující atributy.
Name
Povinný: Určuje název sestavení.
permissionSetReference
Povinný: Identifikuje ID sady oprávnění, kterou toto sestavení vyžaduje. Sada oprávnění je deklarována v elementu
PermissionSet
.
requestedPrivileges
Nepovinné. Tento prvek je podřízený prvek security
a obsahuje requestedExecutionLevel
prvek. Tento prvek nemá žádné atributy.
requestedExecutionLevel
Nepovinné. Určuje úroveň zabezpečení, na které se aplikace požaduje, aby se spustila. Tento prvek nemá žádné podřízené položky a má následující atributy.
Level
Povinný: Označuje úroveň zabezpečení, kterou aplikace požaduje. Možné hodnoty jsou:
asInvoker
, požadovat žádná další oprávnění. Tato úroveň nevyžaduje žádné další výzvy důvěryhodnosti.highestAvailable
, požadující nejvyšší oprávnění, která jsou k dispozici pro nadřazený proces.requireAdministrator
a požádejte o úplná oprávnění správce.Aplikace ClickOnce se nainstalují pouze s hodnotou
asInvoker
. Instalace s jakoukoli jinou hodnotou selže.uiAccess
Nepovinné. Určuje, zda aplikace vyžaduje přístup k chráněným prvkům uživatelského rozhraní. Hodnoty jsou buď
true
nebofalse
a výchozí hodnota je false. Pouze podepsané aplikace by měly mít hodnotu true.
Poznámky
Pokud aplikace ClickOnce požádá o více oprávnění, než klientský počítač ve výchozím nastavení udělí, správce důvěryhodnosti modulu CLR (Common Language Runtime) požádá uživatele, jestli chce aplikaci udělit tuto zvýšenou úroveň důvěryhodnosti. Pokud ne, aplikace se nespustí; jinak se spustí s požadovanými oprávněními.
Všechna požadovaná defaultAssemblyRequest
oprávnění a assemblyRequest
budou udělena bez výzvy uživatele, pokud má manifest nasazení platnou licenci důvěryhodnosti.
Další informace o zvýšení oprávnění naleznete v tématu Zabezpečení aplikací ClickOnce. Další informace o nasazení zásad naleznete v tématu Přehled nasazení důvěryhodné aplikace.
Příklady
Následující tři příklady kódu ilustrují trustInfo
prvky pro výchozí pojmenované zóny zabezpečení – Internet, LocalIntranet a FullTrust – pro použití v manifestu aplikace nasazení ClickOnce.
První příklad ukazuje trustInfo
prvek pro výchozí oprávnění dostupná 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 znázorňuje trustInfo
element pro výchozí oprávnění dostupná 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 znázorňuje trustInfo
prvek pro výchozí oprávnění dostupná v zóně zabezpečení FullTrust.
<trustInfo>
<security>
<applicationRequestMinimum>
<PermissionSet ID="FullTrust" Unrestricted="true" />
<defaultAssemblyRequest permissionSetReference="FullTrust" />
</applicationRequestMinimum>
</security>
</trustInfo>