Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Описывает минимальные разрешения безопасности, необходимые для запуска приложения на клиентском компьютере.
Синтаксис
<trustInfo>
<security>
<applicationRequestMinimum>
<PermissionSet
ID
Unrestricted>
<IPermission
class
version
Unrestricted
/>
</PermissionSet>
<defaultAssemblyRequest
permissionSetReference
/>
<assemblyRequest
name
permissionSetReference
/>
</applicationRequestMinimum>
<requestedPrivileges>
<requestedExecutionLevel
level
uiAccess
/>
</requestedPrivileges>
</security>
</trustInfo>
Элементы и атрибуты
Элемент trustInfo является обязательным и находится в пространстве имен asm.v2 . Он не содержит атрибуты, но содержит следующие элементы.
security
Обязательный. Этот элемент является дочерним по отношению к элементу trustInfo . Он содержит элемент applicationRequestMinimum и не содержит атрибуты.
applicationRequestMinimum
Обязательный. Этот элемент является дочерним security элементом элемента и содержит PermissionSetэлементы , assemblyRequestа также defaultAssemblyRequest элементы. Этот элемент не содержит атрибуты.
PermissionSet
Обязательный. Этот элемент является дочерним по отношению к элементу applicationRequestMinimum и содержит элемент IPermission . Этот элемент содержит следующие атрибуты.
IDОбязательный. Обозначает набор разрешений. Этот атрибут может быть любым значением. На идентификатор указывается ссылка в атрибутах
defaultAssemblyRequestиassemblyRequest.versionОбязательный. Обозначает версию разрешения. Обычное значение —
1.
IPermission
Необязательно. Этот элемент является дочерним по отношению к элементу PermissionSet . Элемент IPermission полностью идентифицирует класс разрешений в платформа .NET Framework. Элемент IPermission содержит следующие атрибуты, но может иметь и атрибуты дополнительные, соответствующие свойствам в классе разрешений. Чтобы узнать синтаксис конкретного разрешения, см. примеры, перечисленные в файле Security.config.
classОбязательный. Обозначает класс разрешений по строгому имени. Например, следующий код обозначает тип
FileDialogPermission.System.Security.Permissions.FileDialogPermission, mscorlib, Version=1.2.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089versionОбязательный. Обозначает версию разрешения. Обычное значение —
1.UnrestrictedОбязательный. Определяет, требуется ли приложению неограниченная версия конкретного разрешения. Если значение равно
true, неограниченная версия разрешения строго обязательна. Если значение равноfalseили этот атрибут не определен, на него распространяются ограничения в соответствии с атрибутами конкретного разрешения, заданными в тегеIPermission. Примите следующие разрешения:<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" />В этом примере объявление для EnvironmentPermission разрешает приложению только чтение переменной среды USERNAME, тогда как объявление для FileDialogPermission предоставляет приложению неограниченное право на использование всех классов FileDialog .
defaultAssemblyRequest
Необязательно. Обозначает набор разрешений, предоставленных всем сборкам. Этот элемент является дочерним по отношению к элементу applicationRequestMinimum и содержит следующий атрибут.
permissionSetReferenceОбязательный. Определяет идентификатор набора разрешений, который является разрешением по умолчанию. Набор разрешений объявляется в элементе
PermissionSet.
assemblyRequest
Необязательно. Обозначает разрешения для конкретной сборки. Этот элемент является дочерним по отношению к элементу applicationRequestMinimum и содержит следующие атрибуты.
NameОбязательный. Обозначает имя сборки.
permissionSetReferenceОбязательный. Определяет идентификатор набора разрешений, требующийся для этой сборки. Набор разрешений объявляется в элементе
PermissionSet.
requestedPrivileges
Необязательно. Этот элемент является дочерним по отношению к элементу security и содержит элемент requestedExecutionLevel . Этот элемент не содержит атрибуты.
requestedExecutionLevel
Необязательно. Определяет уровень безопасности, в рамках которого приложение запрашивает выполнение. Этот элемент не содержит дочерние элементы и содержит следующие атрибуты.
LevelОбязательный. Указывает уровень безопасности, запрошенный приложением. Возможны следующие значения:
asInvoker: дополнительные разрешения не запрашиваются. Для этого уровня не требуются дополнительные запросы о доверии.highestAvailable: запрашиваются разрешения наивысшего уровня, доступные родительскому процессу.requireAdministrator: запрашиваются полные права администратора.Приложения ClickOnce будут устанавливаться только со значением
asInvoker. Установка с другим значением завершится сбоем.uiAccessНеобязательно. Указывает, требуется ли приложению доступ к защищенным элементам пользовательского интерфейса. Доступные значения:
trueилиfalse; значение по умолчанию — false. Только для подписанных приложений требуется значение true.
Замечания
Если приложение ClickOnce запрашивает больше разрешений, чем клиентский компьютер будет предоставляться по умолчанию, диспетчер доверия среды CLR попросит пользователя предоставить приложению этот повышенный уровень доверия. Если ответ — "нет", приложение не будет запущено; в противном случае оно будет запущено с запрошенными разрешениями.
Все разрешения, запрошенные через defaultAssemblyRequest и assemblyRequest , будут предоставлены без вывода запросов пользователям, если манифест развертывания содержит действительную лицензию доверия.
Дополнительные сведения о повышении прав разрешений см. в разделе "Защита приложений ClickOnce". Дополнительные сведения о развертывании политик см. в статье Trusted Application Deployment Overview.
Примеры
В следующих трех примерах кода показаны trustInfo элементы именованных зон безопасности по умолчанию — Internet, LocalIntranet и FullTrust— для использования в манифесте приложения ClickOnce.
В первом примере показан элемент trustInfo для разрешений по умолчанию, доступных в зоне безопасности 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>
Во втором примере показан элемент trustInfo для разрешений по умолчанию, доступных в зоне безопасности 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>
В третьем примере показан элемент trustInfo для разрешений по умолчанию, доступных в зоне безопасности FullTrust.
<trustInfo>
<security>
<applicationRequestMinimum>
<PermissionSet ID="FullTrust" Unrestricted="true" />
<defaultAssemblyRequest permissionSetReference="FullTrust" />
</applicationRequestMinimum>
</security>
</trustInfo>