Bagikan melalui


<elemen trustInfo> (aplikasi ClickOnce)

Menjelaskan izin keamanan minimum yang diperlukan agar aplikasi berjalan di komputer klien.

Sintaks


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

Elemen dan atribut

Elemen trustInfo diperlukan dan berada di namespace layanan asm.v2. Ini tidak memiliki atribut dan berisi elemen berikut.

security

Harus diisi. Elemen ini adalah turunan dari elemen trustInfo. Ini berisi applicationRequestMinimum elemen dan tidak memiliki atribut.

applicationRequestMinimum

Harus diisi. Elemen ini adalah turunan dari security elemen dan berisi PermissionSetelemen , , assemblyRequestdan defaultAssemblyRequest. Elemen ini tidak memiliki atribut.

Set Izin

Harus diisi. Elemen ini adalah turunan dari elemen applicationRequestMinimum dan berisi elemen IPermission. Elemen ini memiliki atribut berikut.

  • ID

    Harus diisi. Mengidentifikasi set izin. Atribut ini dapat berupa nilai apa pun. ID dirujuk dalam defaultAssemblyRequest atribut dan assemblyRequest .

  • version

    Harus diisi. Mengidentifikasi versi izin. Biasanya nilai ini adalah 1.

IPermission

Opsional. Elemen ini adalah turunan dari elemen PermissionSet. Elemen sepenuhnya IPermission mengidentifikasi kelas izin di .NET Framework. Elemen IPermission ini memiliki atribut berikut, tetapi dapat memiliki atribut tambahan yang sesuai dengan properti pada kelas izin. Untuk mengetahui sintaks untuk izin tertentu, lihat contoh yang tercantum dalam file Security.config.

  • class

    Harus diisi. Mengidentifikasi kelas izin dengan nama yang kuat. Misalnya, kode berikut mengidentifikasi jenisnya FileDialogPermission .

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

  • version

    Harus diisi. Mengidentifikasi versi izin. Biasanya nilai ini adalah 1.

  • Unrestricted

    Harus diisi. Mengidentifikasi apakah aplikasi memerlukan pemberian izin ini yang tidak terbatas. Jika true, pemberian izin tidak bersyarat. Jika false, atau jika atribut ini tidak terdefinisi, atribut ini dibatasi sesuai dengan atribut khusus izin yang ditentukan pada IPermission tag. Ambil izin berikut:

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

    Dalam contoh ini, deklarasi untuk EnvironmentPermission membatasi aplikasi untuk hanya membaca variabel lingkungan USERNAME, sedangkan deklarasi untuk FileDialogPermission memberikan aplikasi penggunaan tidak terbatas dari semua FileDialog kelas.

defaultAssemblyRequest

Opsional. Mengidentifikasi sekumpulan izin yang diberikan ke semua rakitan. Elemen ini adalah turunan elemen applicationRequestMinimum dan memiliki atribut berikut.

  • permissionSetReference

    Harus diisi. Mengidentifikasi ID set izin yang merupakan izin default. Set izin dideklarasikan dalam PermissionSet elemen .

assemblyRequest

Opsional. Mengidentifikasi izin untuk rakitan tertentu. Elemen ini adalah turunan elemen applicationRequestMinimum dan memiliki atribut berikut.

  • Name

    Harus diisi. Mengidentifikasi nama rakitan.

  • permissionSetReference

    Harus diisi. Mengidentifikasi ID kumpulan izin yang diperlukan perakitan ini. Set izin dideklarasikan dalam PermissionSet elemen .

requestedPrivileges

Opsional. Elemen ini adalah turunan dari elemen security dan berisi elemen requestedExecutionLevel. Elemen ini tidak memiliki atribut.

requestedExecutionLevel

Opsional. Mengidentifikasi tingkat keamanan tempat aplikasi meminta untuk dijalankan. Elemen ini tidak memiliki turunan dan memiliki atribut berikut.

  • Level

    Harus diisi. Menunjukkan tingkat keamanan yang diminta aplikasi. Kemungkinan nilai adalah:

    asInvoker, meminta tidak ada izin tambahan. Tingkat ini tidak memerlukan permintaan kepercayaan tambahan.

    highestAvailable, meminta izin tertinggi yang tersedia untuk proses induk.

    requireAdministrator, meminta izin administrator penuh.

    Aplikasi ClickOnce hanya akan diinstal dengan nilai asInvoker. Penginstalan dengan nilai lain akan gagal.

  • uiAccess

    Opsional. Menunjukkan apakah aplikasi memerlukan akses ke elemen antarmuka pengguna yang dilindungi. Nilai adalah true atau false, dan defaultnya adalah false. Hanya aplikasi yang ditandatangani yang harus memiliki nilai benar.

Keterangan

Jika aplikasi ClickOnce meminta lebih banyak izin daripada yang akan diberikan komputer klien secara default, Trust Manager runtime bahasa umum akan bertanya kepada pengguna apakah dia ingin memberikan aplikasi tingkat kepercayaan yang ditingkatkan ini. Jika dia mengatakan tidak, aplikasi tidak akan berjalan; jika tidak, itu akan berjalan dengan izin yang diminta.

Semua izin yang diminta menggunakan defaultAssemblyRequest dan assemblyRequest akan diberikan tanpa pengguna meminta jika manifes penyebaran memiliki Lisensi Kepercayaan yang valid.

Untuk informasi selengkapnya tentang izin yang lebih tinggi, lihat Mengamankan aplikasi ClickOnce. Untuk informasi selengkapnya tentang penyebaran kebijakan, lihat Gambaran Umum Penyebaran Aplikasi Tepercaya.

Contoh

Tiga contoh kode berikut mengilustrasikan trustInfo elemen untuk zona keamanan bernama default—Internet, LocalIntranet, dan FullTrust—untuk digunakan dalam manifes aplikasi penyebaran ClickOnce.

Contoh pertama mengilustrasikan trustInfo elemen untuk izin default yang tersedia di zona keamanan Internet.

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

Contoh kedua mengilustrasikan trustInfo elemen untuk izin default yang tersedia di zona keamanan 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>

Contoh ketiga mengilustrasikan trustInfo elemen untuk izin default yang tersedia di zona keamanan FullTrust.

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

Baca juga