Aracılığıyla paylaş


<trustInfo> öğesi (ClickOnce uygulaması)

Uygulamanın istemci bilgisayarda çalışması için gereken en düşük güvenlik izinlerini açıklar.

Sözdizimi


      <trustInfo>
   <security>
      <applicationRequestMinimum>
         <PermissionSet
            ID
            Unrestricted>
            <IPermission
               class
               version
               Unrestricted
            />
         </PermissionSet>
         <defaultAssemblyRequest
            permissionSetReference
         />
         <assemblyRequest
            name
            permissionSetReference
         />
      </applicationRequestMinimum>
      <requestedPrivileges>
         <requestedExecutionLevel
            level
            uiAccess
         />
      </requestedPrivileges>
   </security>
</trustInfo>

Öğeler ve öznitelikler

trustInfo öğesi gereklidir ve ad alanındadırasm.v2. Öznitelikleri yoktur ve aşağıdaki öğeleri içerir.

güvenlik

Gerekli. Bu öğe, öğesinin trustInfo alt öğesidir. öğesini içerir applicationRequestMinimum ve hiçbir özniteliği yoktur.

applicationRequestMinimum

Gerekli. Bu öğe öğenin alt öğesidir security ve , assemblyRequestve defaultAssemblyRequest öğelerini içerirPermissionSet. Bu öğenin özniteliği yok.

PermissionSet

Gerekli. Bu öğe öğesinin applicationRequestMinimum alt öğesidir ve öğesini içerir IPermission . Bu öğe aşağıdaki özniteliklere sahiptir.

  • ID

    Gerekli. İzin kümesini tanımlar. Bu öznitelik herhangi bir değer olabilir. Kimlik, ve assemblyRequest özniteliklerinde defaultAssemblyRequest başvurulur.

  • version

    Gerekli. İzin sürümünü tanımlar. Normalde bu değer şeklindedir 1.

IPermission

isteğe bağlı. Bu öğe, öğesinin PermissionSet alt öğesidir. IPermission öğesi .NET Framework'te bir izin sınıfını tam olarak tanımlar. IPermission öğesi aşağıdaki özniteliklere sahiptir, ancak izin sınıfındaki özelliklere karşılık gelen ek özniteliklere sahip olabilir. Belirli bir iznin söz dizimini bulmak için Security.config dosyasında listelenen örneklere bakın.

  • class

    Gerekli. İzin sınıfını tanımlayıcı adla tanımlar. Örneğin, aşağıdaki kod türü tanımlar FileDialogPermission .

    System.Security.Permissions.FileDialogPermission, mscorlib, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089

  • version

    Gerekli. İzin sürümünü tanımlar. Genellikle bu değer şeklindedir 1.

  • Unrestricted

    Gerekli. Uygulamanın bu iznin kısıtlanmamış bir iznine ihtiyacı olup olmadığını tanımlar. ise true, izin verme koşulsuzdur. ise falseveya bu öznitelik tanımlanmamışsa, etiketinde IPermission tanımlanan izinlere özgü özniteliklere göre kısıtlanır. Aşağıdaki izinleri alı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" />
    

    Bu örnekte için bildirimi EnvironmentPermission , uygulamanın yalnızca USERNAME ortam değişkenini okumasını kısıtlarken, için bildirimi FileDialogPermission uygulamaya tüm FileDialog sınıfların sınırsız kullanımını sağlar.

defaultAssemblyRequest

isteğe bağlı. Tüm derlemelere verilen izin kümesini tanımlar. Bu öğe öğesinin applicationRequestMinimum alt öğesidir ve aşağıdaki özniteliğine sahiptir.

  • permissionSetReference

    Gerekli. Varsayılan izin olan izin kümesinin kimliğini tanımlar. İzin kümesi öğesinde PermissionSet bildirilir.

assemblyRequest

isteğe bağlı. Belirli bir derleme için izinleri tanımlar. Bu öğe öğesinin applicationRequestMinimum alt öğesidir ve aşağıdaki özniteliklere sahiptir.

  • Name

    Gerekli. Derleme adını tanımlar.

  • permissionSetReference

    Gerekli. Bu derlemenin gerektirdiği izin kümesinin kimliğini tanımlar. İzin kümesi öğesinde PermissionSet bildirilir.

requestedPrivileges

isteğe bağlı. Bu öğe öğesinin security alt öğesidir ve öğesini içerir requestedExecutionLevel . Bu öğenin özniteliği yok.

requestedExecutionLevel

isteğe bağlı. Uygulamanın yürütülmek istediği güvenlik düzeyini tanımlar. Bu öğenin alt öğesi yok ve aşağıdaki özniteliklere sahip.

  • Level

    Gerekli. Uygulamanın istediği güvenlik düzeyini gösterir. Olası değerler şunlardır:

    asInvokerek izin isteme. Bu düzey ek güven istemleri gerektirmez.

    highestAvailable, üst işlem için kullanılabilir en yüksek izinleri isteme.

    requireAdministrator, tam yönetici izinleri istemektedir.

    ClickOnce uygulamaları yalnızca değeriyle asInvokeryüklenir. Başka bir değerle yükleme başarısız olur.

  • uiAccess

    isteğe bağlı. Uygulamanın korumalı kullanıcı arabirimi öğelerine erişmesi gerekip gerekmediğini gösterir. Değerler veya false'dir true ve varsayılan değer false'tur. Yalnızca imzalı uygulamaların değeri true olmalıdır.

Açıklamalar

ClickOnce uygulaması istemci bilgisayarın varsayılan olarak verdiğinden daha fazla izin isterse, ortak dil çalışma zamanının Güven Yöneticisi kullanıcıya bu yükseltilmiş güven düzeyini vermek isteyip istemediğini sorar. Hayır derse uygulama çalışmaz; aksi takdirde, istenen izinlerle çalışır.

ve kullanılarak defaultAssemblyRequest assemblyRequest istenen tüm izinler, kullanıcı tarafından dağıtım bildiriminin geçerli bir Güven Lisansı olup olmadığı sorulmadan verilir.

İzin Yükseltme hakkında daha fazla bilgi için bkz . ClickOnce Uygulamalarının Güvenliğini Sağlama. İlke dağıtımı hakkında daha fazla bilgi için bkz . Güvenilen Uygulama Dağıtımına Genel Bakış.

Örnekler

Aşağıdaki üç kod örneği, ClickOnce dağıtımının uygulama bildiriminde kullanılmak üzere varsayılan adlandırılmış güvenlik bölgeleri (Internet, LocalIntranet ve FullTrust) için öğeleri gösterir trustInfo .

İlk örnek, İnternet güvenlik bölgesinde kullanılabilen varsayılan izinler için öğesini gösterir trustInfo .

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

İkinci örnek, LocalIntranet güvenlik bölgesinde kullanılabilen varsayılan izinler için öğesini gösterir trustInfo .

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

Üçüncü örnek, FullTrust güvenlik bölgesinde kullanılabilen varsayılan izinler için öğesini gösterir trustInfo .

<trustInfo>
  <security>
    <applicationRequestMinimum>
      <PermissionSet ID="FullTrust" Unrestricted="true" />
      <defaultAssemblyRequest permissionSetReference="FullTrust" />
    </applicationRequestMinimum>
  </security>
</trustInfo>

Ayrıca bkz.