Ватсон Карли
Шрифт:
Группы кода
Группы кода имеют требование записи, называемое условием членства (Membership Condition). Чтобы сборка была внесена в группу кода, она должна соответствовать условию членства группы. Условия членства выглядят как запись "сборка с сайта www.microsoft.com" или "Издателем этого программного обеспечения является Microsoft Corporation".
Каждая группа кода имеет одно и только одно условие членства. Здесь представлены типы условий членства в группах кода, доступные в .NET:
□ Zone (Зона) — регион, из которого происходит код.
□ Site (Сайт) — сайт Web, из которого происходит код.
□ Strong name (Строгое имя) — уникальное, проверяемое имя кода. Часто называется 'общим именем'.
□ Publisher (Издатель) — издатель кода.
□ URL — определенное расположение, из которого происходит код.
□ Hash value (хэш-значение) — хэш-значение сборки.
□ Skip verification (Контроль пропуска) — код, который запрашивает сборку, обходит проверки контроля кода.
□ Application directory (Каталог приложения) — расположение сборки в приложении.
□ All code (Весь код) — весь код удовлетворяет этому условию.
□ Custom (Специальный) — определяемое пользователем условие.
Первым типом условия членства в списке является условие Zone, оно наиболее часто используется. В зоне определяется регион происхождения фрагмента кода: MyComputer, Intranet, Trusted и Untrusted. Эти регионы управляются с помощью Security Options в Internet Explorer, об этом мы узнаем больше в последующем при рассмотрении управления политиками системы безопасности. Хотя настройки управляются с помощью Internet Explorer, они применимы ко всей машине. Ясно, что эти конфигурационные параметры недоступны в браузерах других компаний и, фактически, внутристраничные элементы управления, написанные с помощью .NET Framework, не будут работать в браузерах, отличных от Internet Explorer.
Группы кодов организуются в иерархию с условием членства All Code в корне.
Можно видеть, что каждая группа кода имеет одно условие членства и обладает полномочиями, которые должны быть предоставлены группе кода. Мы рассмотрим полномочия более подробно позже. Отметим, что если сборка не соответствует условию членства в группе кода, CLR не пытается сопоставить ее с нижерасположенными группами кода.
Caspol.exe — утилита политики системы безопасности доступа к коду
К утилите командной строки политики системы безопасности доступа к коду мы часто прибегаем в этой главе. Она позволяет просматривать и управлять политикой безопасности. Чтобы получить список ее параметров, введите следующую команду:
.NET содержит также подключаемый модуль (snap-in) для управляющей консоли Microsoft, обеспечивающий регулирование системы безопасности доступа к коду. Однако ограничимся утилитой командной строки, в этом случае будет легче следовать приведенным примерам и можно создавать сценарии для изменения политики системы безопасности, очень полезные применительно к большому числу машин.
Рассмотрим группы кода на машине с помощью утилиты caspol.exe. Вывод команды перечисляет иерархическую структуру групп кода, дающую описание каждой группы кода. Введите следующую команду: