Sdílet prostřednictvím


<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, assemblyRequesta defaultAssemblyRequestelementy. Tento prvek nemá žádné atributy.

Permissionset

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 atributechdefaultAssemblyRequest.assemblyRequest

  • version

    Povinný: Identifikuje verzi oprávnění. Za normálních okolností je 1tato 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 1tato hodnota .

  • Unrestricted

    Povinný: Určuje, jestli aplikace potřebuje neomezené udělení tohoto oprávnění. Pokud trueje udělení oprávnění nepodmíněné. Pokud falsenebo pokud tento atribut není definován, je omezen podle atributů specifických pro oprávnění definovaných na IPermission 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.

    requireAdministratora 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 nebo falsea 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>

Viz také