<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 , assemblyRequest
ve 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
özniteliklerindedefaultAssemblyRequest
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. isefalse
veya bu öznitelik tanımlanmamışsa, etiketindeIPermission
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:
asInvoker
ek 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
asInvoker
yü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
'dirtrue
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>