Sdílet prostřednictvím


<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í:

<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 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>

Viz také

Odkaz

Manifest aplikace ClickOnce

Koncepty

Důvěryhodný přehled nasazení aplikace