Элемент trust (схема параметров ASP.NET)
Обновлен: Ноябрь 2007
Задает применяемый к приложению уровень управления доступом для кода (CAS). Этот элемент следует использовать для выполнения веб-приложений, уровень доверия для которых ниже Full.
Элемент configuration (схема общих параметров)
Элемент system.web (схема параметров ASP.NET)
Элемент trust (схема параметров ASP.NET)
<trust
level="[Full|High|Medium|Low|Minimal]"
originUrl="URL"
processRequestInApplicationTrust = "[True|False]"
/>
Атрибуты и элементы
В следующих разделах описываются атрибуты, дочерние и родительские элементы.
Атрибуты
Атрибут |
Описание |
---|---|
level |
Обязательный атрибут String. Задает уровень доверия, с которым будет выполняться приложение. Каждый уровень доверия сопоставляется отдельной политике XML с помощью элемента trustLevel в файле конфигурации. В файле политики перечисляется набор разрешений, предоставляемых каждым уровнем доверия. Дополнительные сведения о ASP.NET и файлах политики см. в разделе Уровни доверия и файлы политик ASP.NET. Значение атрибута может задаваться пользователем, если в элементе trustLevel элемента Элемент securityPolicy (схема параметров ASP.NET) определено соответствующее сопоставление политики безопасности. Также атрибут может иметь одно из следующих возможных значений (в порядке возрастания строгости ограничений).
ЗначениеОписание
Full Устанавливает неограниченные разрешения. Предоставляет приложению ASP.NET разрешения на доступ к любому ресурсу, управляемому механизмами безопасности операционной системы. Поддерживаются все привилегированные операции. Эта настройка называется Unrestricted в перечислении AspNetHostingPermissionLevel.
High Устанавливает высокий уровень управления доступом для кода, при котором приложение по умолчанию не может выполнять следующие операции:
Medium Устанавливает средний уровень управления доступом для кода, при котором приложение ASP.NET по умолчанию не может выполнять следующие операции (в дополнение к ограничениям для уровня High):
Low Устанавливает низкий уровень управления доступом для кода, при котором приложение ASP.NET по умолчанию не может выполнять следующие операции (в дополнение к ограничениям для уровня Medium):
Minimal Устанавливает минимальный уровень управления доступом для кода, при котором приложению назначаются только разрешения на выполнение.
По умолчанию используется значение Full (без ограничений). |
originUrl |
Необязательный атрибут String. Задает URL-адрес, используемый с ограниченным разрешением WebPermission, которое настроено в уровне доверия Medium. Если этот атрибут присутствует, он может использоваться в некоторых классах, например HttpWebRequest, которые допускают подключение только к конкретным URL-адресам, определяемым разрешением WebPermission. Это позволяет корректно работать разрешениям, основывающимся на понятии о хосте. |
processRequestInApplicationTrust |
Необязательный атрибут типа Boolean. Задает, выполняется ли автоматическое ограничение запросов страницы с использованием разрешений, настроенных в файле политики доверия для приложения ASP.NET. Файлы политики доверия задаются в элементах trustLevel элемента securityPolicy. Чтобы применить единую политику доверия к приложению ASP.NET, следует использовать атрибут level элемента trust. Если установлено значение False, запросы ASP.NET могут потенциально выполняться с уровнем доверия Full, даже если с помощью атрибута level установлен другой уровень. Не рекомендуется без особой необходимости изменять значение по умолчанию (true) этого атрибута. Этот атрибут не использовался до .NET Framework версии 2.0. Значение по умолчанию — True. |
Дочерние элементы
Нет.
Родительские элементы
Элемент |
Описание |
---|---|
configuration |
Задает обязательный корневой элемент любого файла конфигурации, который используется средой CLR и приложениями .NET Framework. |
system.web |
Определяет корневой элемент для параметров конфигурации ASP.NET в файле конфигурации и содержит элементы конфигурации, предназначенные для настройки веб-приложений ASP.NET и управления их работой. |
Заметки
Элемент trust задает применяемый к приложению уровень управления доступом для кода (CAS). Файлы политики безопасности сопоставляются с именами уровней доверия в элементе коллекции securityPolicy. В файле политики перечисляется набор разрешений, предоставляемых уровнем доверия. Элемент trust указывает на уровень доверия, применяемый к приложению ASP.NET. Дополнительные сведения о ASP.NET и файлах политики см. в разделе Уровни доверия и файлы политик ASP.NET.
По умолчанию веб-приложения выполняются с уровнем доверия Full. Приложениям с уровнем доверия Full в соответствии с политикой управления доступом для кода предоставляются неограниченные разрешения доступа. К этим разрешениям относятся встроенные системные и пользовательские разрешения. Это означает, что в соответствии с уровнем управления доступом для кода приложению будет разрешен доступ к любым защищенным ресурсам. Возможность доступа к ресурсу определяется исключительно уровнем безопасности, установленным в операционной системе. Приложение, для которого установлен отличающийся от Full уровень доверия, называется приложением с неполным доверием. Приложения с неполным доверием обладают ограниченными разрешениями на доступ приложения к защищенным ресурсам.
Для повышения безопасности в размещенной среде следует использовать элемент location в корневом файле Web.config, чтобы включить элементы securityPolicy и trust для размещаемых приложений, а также атрибут allowOverride="False", чтобы предотвратить переопределение приложением настроек в локальном файле Web.config. Чтобы настроить разные уровни доверия для разных размещаемых приложений, можно использовать элементы с различными атрибутами пути, расположенные в различных местах. Пример такого рода конфигурации см. далее в разделе "Пример".
Примечание. |
---|
Веб-приложения, построенные на платформе .NET Framework версии 1.0 всегда выполняются с уровнем доверия Full, поскольку для типов в System.Web требуются вызывающие объекты с полным уровнем доверия. При обновлении до более поздней версии .NET Framework не рекомендуется изменять уровень доверия без предварительного тестирования любых ранее существовавших приложений. |
Конфигурация по умолчанию
В корневом файле Web.config задан по умолчанию следующий элемент trust.
<location allowOverride="true">
<system.web>
<securityPolicy>
<trustLevel name="Full" policyFile="internal" />
<trustLevel name="High" policyFile="web_hightrust.config" />
<trustLevel name="Medium" policyFile="web_mediumtrust.config" />
<trustLevel name="Low" policyFile="web_lowtrust.config" />
<trustLevel name="Minimal" policyFile="web_minimaltrust.config"/>
</securityPolicy>
<trust
level="Full"
originUrl=""
processRequestInApplicationTrust="true"
/>
</system.web>
</location>
Пример
В следующем примере используется корневой файл Web.config для установки уровня доверия Medium для всех приложений ASP.NET, а также серверный элемент location для блокировки настроек. Другой элемент location в том же файле конфигурации используется, чтобы переопределить настройки в корневом файле Web.config настройками в файле Web.config приложения Default Web Site/Temp.
<location allowOverride="false">
<system.web>
<securityPolicy>
<trustLevel name="Full" policyFile="internal" />
<trustLevel name="High" policyFile="web_hightrust.config" />
<trustLevel name="Medium" policyFile="web_mediumtrust.config" />
<trustLevel name="Low" policyFile="web_lowtrust.config" />
<trustLevel name="Minimal" policyFile="web_minimaltrust.config"/>
</securityPolicy>
</system.web>
</location>
<location allowOverride="false">
<system.web>
<trust level="Medium" originUrl="" />
</system.web>
</location>
<location allowOverride="true" path="Default Web Site/Temp">
<system.web>
<trust level="Medium" originUrl="" />
</system.web>
</location>
Сведения об элементе
Обработчик раздела конфигурации |
|
Элемент конфигурации |
|
Настраиваемые расположения |
Machine.config Файл Web.config корневого уровня Файл Web.config уровня приложения |
Требования |
Microsoft IIS версии 5.0, 5.1 или 6.0 .NET Framework версии 1.0, 1.1 или 2.0 Microsoft Visual Studio 2003 или Visual Studio 2005 |
См. также
Задачи
Практическое руководство. Настройка отдельных каталогов с помощью параметров расположения
Пошаговое руководство. Отключение параметров конфигурации ASP.NET
Основные понятия
Уровни доверия и файлы политик ASP.NET
Уровни доверия и файлы политик ASP.NET
Администрирование политики безопасности
Настройка обеспечения безопасности ASP.NET
Ссылки
Элемент system.web (схема параметров ASP.NET)
Элемент configuration (схема общих параметров)
Элемент trustLevel для элемента securityPolicy (схема параметров ASP.NET)
Элемент securityPolicy (схема параметров ASP.NET)
Другие ресурсы
Безопасность веб-приложений ASP.NET
Общие параметры конфигурации (ASP.NET)
Параметры конфигурации ASP.NET