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.

<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 asm.v2 isim uzayında yer almaktadır. Alt öğeleri yoktur ve aşağıdaki özniteliklere sahiptir.

güvenlik

Gerekli. Bu öğe trustInfo öğesinin alt öğesidir. applicationRequestMinimum öğesini içeriyor ve öznitelikleri yoktur.

applicationRequestMinimum

Gerekli. Bu öğe security öğesinin alt öğesidir ve PermissionSet, assemblyRequest, defaultAssemblyRequest öğelerini içerir Bu öğe özniteliklere sahip değildir.

PermissionSet

Gerekli. Bu öğe applicationRequestMinimum öğesinin alt öğesidir ve IPermission öğesini içerir. Bu öğenin öznitelikleri şunlardır:

Öznitelik

Açıklama

ID

Gerekli. İzin kümesi tanımlar. Bu öznitelik herhangi bir değer olabilir. Bu kimliğe defaultAssemblyRequest ve assemblyRequest öznitelikleri içinde başvurulur.

version

Gerekli. İzin sürümünü tanımlar. Bu değer normalde 1 olur.

IPermission

İsteğe Bağlı. Bu öğe PermissionSet öğesinin alt öğesidir. The IPermission öğesi .NET Framework içinde izin sınıfını tam olarak tanımlar. IPermission öğesi aşağıdaki özniteliklere sahiptir ama izin sınıfından özelliklere karşılık gelen ek öznitelikler de olabilir. Belirli bir iznin sözdizimini öğrenmek için Security.config dosyasında listelenen örneklere bakın.

Öznitelik

Açıklama

class

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

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

version

Gerekli. İzin sürümünü tanımlar. Bu değer genellikle 1 olur.

Unrestricted

Gerekli. Uygulamanın sınırsız olarak bu iznin verilmesine ihtiyacı olup olmadığını tanımlar. true ise, izin verme koşulsuz olur. false ise, veya bu öznitelik tanımlı değilse, IPermission etiketinden tanımlanan izne özel özniteliklere göre sınırlama yapılı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,EnvironmentPermission bildirimi uygulamayı sadece ortam değişkeni USERNAME'i okumaya sınırlarken, diğer tarafta FileDialogPermission bildirimi tüm FileDialog sınıfları için sınırsız kullanım verir .

defaultAssemblyRequest   

İsteğe Bağlı. Tüm derlemelere verilen izinler kümesini tanımlar. Bu öğe applicationRequestMinimum öğesinin alt öğesidir ve aşağıdaki özniteliklere sahiptir.

Öznitelik

Açıklama

permissionSetReference

Gerekli. Varsayılan izin olan izin kümesi kimliğini tanımlar. İzin kümesi PermissionSet öğesi içinde bildirilir.

assemblyRequest   

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

Öznitelik

Açyklama

Name

Gerekli. Derleme adını tanımlar.

permissionSetReference

Gerekli. Bu derlemenin ihtiyaç duyduğu iznin kimliğini tanımlar. İzin kümesi PermissionSet öğesi içinde bildirilir.

requestedPrivileges

İsteğe Bağlı. Bu öğe security öğesinin alt öğesidir ve requestedExecutionLevel öğesini içerir. Bu öğe özniteliklere sahip değildir.

requestedExecutionLevel

İsteğe Bağlı. Uygulama isteklerinin yürütüleceği güvenlik düzeyini tanımlar. Alt öğeleri yoktur ve aşağıdaki özniteliklere sahiptir.

Öznitelik

Açıklama

Level

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

asInvoker, ek izinler istenmez. Bu düzey ek güven istekleri gerektirmez.

highestAvailable, üst sürece erişlebilir en yüksek izinler istenir.

requireAdministrator, tam yönetici izinleri istenir.

ClickOnce uygulamaları yalnızca asInvoker'ın bir değeri ile yüklenecektir. Diğer değerler ile yüklemeler başarısız olacaktır.

uiAccess

İsteğe Bağlı. Uygulamanın korumalı kullanıcı arayüzü öğelerine erişiminin gerekli olup olmadığını gösterir. Değer true veya false'tur. Varsayılan değer false'tur. Yalnızca imzalı uygulamalar true değeri olmalıdır.

Açıklamalar

ClickOnce uygulaması varsayılan olarak istemci bilgisayarın vereceği izinlerden daha fazla izin isterse, ortak dil çalışma zamanının Güven Yöneticisi kullanıcıya, uygulamaya yükseltilmiş izinlerin verilmesini isteyip istemediğini sorar. Kullanıcı hayır derse, uygulama çalışmayacak; tersi durumda, istenen izinlerle çalışacaktır.

Dağıtım bildiriminin geçerli bir Güven Lisansı varsa, defaultAssemblyRequest ve assemblyRequest kullanılarak istenilen tüm izinler kullanıcıya sorulmadan verilecektir.

İzinler hakkında daha fazla bilgi için, bkz. ClickOnce Uygulamaları Güvenliğini Sağlama. Dağıtım ilkesi hakkında daha fazla bilgi için, bkz. Güvenilir Uygulama Dağıtımına Genel Bakış.

Örnekler

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

İlk örnek İnternet güvenlik bölgesinde erişilebilir varsayılan izinler için trustInfo öğesini gösterir.

<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 erişilebilir varsayılan izinler için trustInfo öğesini gösterir.

<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 erişilebilir varsayılan izinler için trustInfo öğesini gösterir.

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

Ayrıca bkz.

Başvuru

ClickOnce Uygulama Bildirimi

Kavramlar

Güvenilir Uygulama Dağıtımına Genel Bakış