<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 PermissionSet
elemen , , assemblyRequest
dan 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 danassemblyRequest
.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. Jikafalse
, atau jika atribut ini tidak terdefinisi, atribut ini dibatasi sesuai dengan atribut khusus izin yang ditentukan padaIPermission
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
ataufalse
, 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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk