Управление доступом для кода для приложения ClickOnce

Приложения ClickOnce основаны на платформе .NET Framework, и для них действительны ограничения управления доступом для кода.Поэтому важно понимать влияние управления доступом для кода и писать приложения ClickOnce соответствующим образом.

Управление доступом для кода — это механизм на платформе .NET Framework, позволяющий ограничить доступ кода к защищенным ресурсам и операциям.Разрешения управления доступом для кода приложения ClickOnce следует предоставить только в границах зоны, которую можно считать подходящей для размещения установщика приложения.В большинстве случаев вполне достаточно зоны Интернет, у которой набор разрешений очень невелик, или зоны Локальная интрасеть с несколько более широким набором разрешений.

Используемое по умолчанию управление доступом для кода приложения ClickOnce

По умолчанию при установке и запуске приложения ClickOnce на клиентском компьютере оно получает разрешения полного доверия.

  • Приложение, имеющее разрешения полного доверия, имеет неограниченный доступ к ресурсам, таким как файловая система и реестр.Это является потенциальной возможностью для использования приложения (и системы конечного пользователя) вредоносным кодом.

  • Если приложению потребуется разрешение полного доверия, пользователь может получить запрос на его предоставление.Это означает, что приложение в действительности не предоставляет функциональные возможности ClickOnce, и такое предложение может вызвать затруднения у менее опытных пользователей.

    ПримечаниеПримечание

    При установке приложения со съемного носителя, например с компакт-диска, пользователю не предлагается запрос.Кроме того, администратор сети может настроить политику работы в сети таким образом, чтобы пользователям не выдавались запросы, когда они устанавливают приложение из надежного источника.Дополнительные сведения см. в разделе Общие сведения о развертывании доверенных приложений.

Чтобы ограничить объем предоставленных приложению ClickOnce разрешений, разрешения управления доступом для кода следует отредактировать таким образом, чтобы приложение запрашивало зону, разрешения которой наиболее точно соответствуют его нуждам.В большинстве случаев достаточно выбрать зону, из которой это приложение будет развертываться.Например, если приложение является приложением для корпоративной среды, можно использовать зону Локальная интрасеть.Для интернет-приложения можно использовать зону Интернет.

Настройка разрешений безопасности

Приложение ClickOnce всегда следует настраивать таким образом, чтобы оно запрашивало достаточную для управления доступом для кода зону.Разрешения безопасности можно настроить на странице Безопасность в конструкторе проектов.

Страница Безопасность в конструкторе проектов содержит флажок Включить параметры безопасности ClickOnce-приложений.При установке этого флажка запросы разрешений безопасности добавляются в манифест развертывания для приложения.Во время установки пользователю предлагается предоставить разрешения, если требуемые разрешения выходят за рамки разрешений, предоставляемых по умолчанию для зоны, из которой развертывается приложение.Дополнительные сведения см. в разделе Практическое руководство. Включение параметров безопасности ClickOnce-приложений..

Приложениям, которые развертываются из разных мест, предоставляются различные уровни разрешений без запроса пользователя.Например, если приложение развертывается из Интернета, оно получает очень ограниченный набор разрешений.При установке из локальной интрасети оно получает больше разрешений, а при установке с компакт-диска оно получает разрешения полного доверия.

В начальной точке настройки набора разрешений можно выбрать зону безопасности из списка Зона на странице Безопасность.Если приложение может развертываться из нескольких зон, выберите зону с наименьшими разрешениями.Дополнительные сведения см. в разделе Практическое руководство. Установка зоны безопасности для ClickOnce-приложения.

Свойства, которые могут устанавливаться, зависят от набора разрешений; не у всех наборов разрешений есть настраиваемые свойства.Дополнительные сведения о полном перечне разрешений, которые может запрашивать приложение, см. в разделе System.Security.Permissions.Дополнительные сведения о настройке разрешений для пользовательской зоны см. в разделе Практическое руководство. Установка пользовательских разрешений для ClickOnce-приложения.

Отладка приложения, имеющего ограниченные разрешения

Наиболее вероятно, что разработчик устанавливает на своем компьютере разрешения полного доверия.Поэтому при отладке приложения он не видит те исключения безопасности, которые пользователи могут видеть при выполнении этого приложения с ограниченными разрешениями.

Чтобы перехватывать эти исключения, необходимо отлаживать приложение с теми же разрешениями, что и у конечного пользователя.Отладка с ограниченными разрешениями может быть включена на странице Безопасность в конструкторе проектов.

При отладке приложения с ограниченными разрешениями исключения могут инициироваться для тех требований управления доступом для кода, которые не включены на странице Безопасность.Будут появляться вспомогательные исключения, предлагающие решения по изменению кода, чтобы предотвратить исключение.

Кроме того, при написании кода функция IntelliSense в редакторе кода сделает недоступными элементы, не включенные в настроенные разрешения безопасности.

Дополнительные сведения см. в разделе Практическое руководство. Отладка ClickOnce-приложения с ограниченными разрешениями.

Разрешения безопасности для приложений, размещенных в браузере

Visual Studio предоставляет следующие типы проектов для приложений Windows Presentation Foundation (WPF):

  • WPF-приложение для Windows

  • Приложение веб-браузера WPF

  • Библиотека настраиваемых элементов управления WPF

  • Библиотека служб WPF

В этих типах проектов только приложения веб-браузера WPF размещаются в веб-браузере, и поэтому для них требуются особые параметры развертывания и безопасности.По умолчанию для таких приложений используются следующие параметры безопасности:

  • Включить параметры безопасности ClickOnce-приложений.

  • Это приложение с частичным доверием

  • Зона Интернета (с разрешениями по умолчанию, установленными для выбранных приложений веб-браузера WPF).

В диалоговом окне Дополнительные параметры безопасности устанавливается и блокируется флажок Отладить это приложение с выбранным набором разрешений.Это является следствием того, что для приложений, размещенных в браузере, отладка в зоне не может быть отключена.Дополнительные сведения см. в разделе Общие сведения о приложениях браузера WPF XAML.

См. также

Задачи

Практическое руководство. Включение параметров безопасности ClickOnce-приложений.

Практическое руководство. Установка зоны безопасности для ClickOnce-приложения

Практическое руководство. Установка пользовательских разрешений для ClickOnce-приложения

Практическое руководство. Отладка ClickOnce-приложения с ограниченными разрешениями

Ссылки

Страница "Безопасность" в конструкторе проектов

Основные понятия

Защита приложений ClickOnce

Общие сведения о развертывании доверенных приложений