Реклама:

Для применения одного из этих уровней доверия в файл web.config приложения следует добавить элемент <trust> и указать имя уровня, который вы хотите применить. Таким образом можно сразу же сузить фронт атак. Вы также можете столкнуться со средой, в которой администратор предварительно устанавливает уровень доверия, и отдельные приложения не могут изменить эту настройку. (Конфигурация для данного сценария описана далее в этой главе.)

<Trust

level="Medium"

Origi".Url="http://www. leastprivilege.com/service.asW />

Атрибут originUr! класса WebPermission имеет особое значение. Здесь вы указываете, к какому серверу может подключаться ваше приложение с использованием HTTP (например, с помощью прокси Web-службы клиента). Политика по умолчанию для уровня доверия Medium позволяет указывать только один URL. однако вы можете использовать регулярное выражение, если нужно подключаться к нескольким службам или конечным точкам на одном и том же сервере.

СОВЕТ Задайте в приложении ASP.NET уровень доверия Medium и попытайтесь вызвать API-структуры, на испопьзование которых вы не имеете разрешения (например, попробуйте получить доступ к файпу не из папки Web-приложения). При этом ASP.NET сгенерирует исключительную ситуацию SecurityException.

Понятие файлов политики

Если встроенные уровни доверия вам полностью подходят, можете отдыхать. Я написал много стандартных приложений ASP.NET (коды доступа к базам данных и Web-службам, аутентификации и авторизации), которые идеально работают на уровне доверия Médium. Однако в более сложных приложениях может понадобиться модифицировать или пополнить политику разрешения, чтобы включить в нее дополнительные функции. Пока что не существует инструментов для конфигурирования политики в графическом виде, поэтому нужно знать, как она работает. В следующих разделах описываются структура файлов политики и некоторые распространенные сценарии.

Структура файлов политики безопасности

<policy>

<PolicyLevel>

<SecurityClasses /> <NamedPermissionSets> <PermissionSet>

<IPermission /> </PermissionSet> </NamedPermissionSets> <CodeGrOup>

<IMembershipCondition /> </CodeGroup> </PolicyLevel> </policy>

Рассмотрим поочередно все элементы файла политики доверия Médium. Классы защиты

В элементе <SecurityClass> перечислены все классы разрешений, используемые в данной политике. Каждое разрешение имеет «дружественное» имя, которое сопоставляется с соответствующим классом структуры и сборкой, где он находится, как, например, в следующем фрагменте кода.

Зарегистрированные разрешения (выборка)

<SecurityClasses> <SecurityClass

Name="FileIOPermission"

Description-'System.Security.Permissions.FilelOPermission,... "/> <SecurityClass

Naffle="SqiClientPermission"

Description-'System.Data.SqlClient.SqlClientPermission, ..."/> <SecurityClass

Name=" Web-Permis s ion"

Description="System. Net. WebPe mission, System, ..."/> </SecurityClasses>


⇐ Предыдущая страница| |Следующая страница ⇒