Определение предоставленных разрешений

Важное примечаниеВажно

В версии .NET Framework 4 среда CLR больше не определяет политику безопасности для компьютеров.Корпорация Майкрософт рекомендует использовать вместо политики безопасности среды CLR политики ограниченного использования программ Windows.Сведения этого раздела относятся к .NET Framework 3.5 и более ранним версиям; они неприменимы к версии 4 и выше.Дополнительные сведения об этом и других изменениях см. в разделе Изменения системы безопасности в платформе .NET Framework 4.

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

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

Набор разрешений

Описание

Требуется

Определяет минимальный набор разрешений, которые код должен иметь для запуска.

Дополнительные

Определяет желательные разрешения для кода в дополнение к минимальному набору. В результате все разрешения, не определенные в минимальном или дополнительном наборе, будут неявно отклонены.

Отклоненные

Определяет разрешения, которые никогда не должны быть предоставлены коду.

Если все три типа запросов разрешений отсутствуют, сборке будет предоставлен набор разрешений, позволенный политикой. Однако если по крайней мере один из трех запросов разрешений представлен, среда выполнения рассматривает запрашиваемые разрешения, используя следующую последовательность действий.

  1. Среда выполнения вычисляет допустимые разрешения для сборки и предоставляет ей разрешение на выполнение. Если разрешение на выполнение не предоставлено, среда выполнения создает исключение PolicyException, и коду не будет позволен запуск.

  2. Среда выполнения определяет, является ли набор требуемых разрешений подмножеством набора допустимых разрешений. Если это не так, среда выполнения создает исключение PolicyException, и коду не будет позволен запуск.

  3. Среда выполнения создает пересечение запрошенных дополнительных разрешений с набором допустимых разрешений. Если дополнительные разрешения не запрошены, тогда предполагается, что дополнительный набор PermissionSet является FullTrust.

  4. Среда выполнения объединяет результат шага 3 с минимальным набором запрошенных разрешений.

  5. В завершение среда выполнения вычитает все разрешения, которые отличаются от результата шага 4.

См. также

Ссылки

PolicyException

Другие ресурсы

Управление политикой безопасности