Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Л7 Система безопасности ASP.NET

.pdf
Скачиваний:
10
Добавлен:
29.02.2016
Размер:
187.01 Кб
Скачать

Использование авторизации URL-адреса

При использовании авторизации URL-адреса предоставление и запрет доступа к конкретному каталогу осуществляется явным образом по имени пользователя или роли. Чтобы воспользоваться этой возможностью, создайте в файле конфигурации для необходимого каталога раздел authorization. Чтобы включить авторизацию URL-адреса, укажите в элементах allow или deny раздела authorization файла конфигурации список пользователей или ролей.Разрешения, установленные для каталога, также применяются к его подкаталогам, если в файлах конфигурации подкаталогов не указаны иные разрешения.

Ниже приведен синтаксис, используемый в разделе authorization.

<authorization> <[allow|deny] users roles verbs /> </authorization>

Элемент allow или deny является обязательным.Необходимо указать хотя бы один из атрибутов users или the roles.Также можно (но не обязательно) указать оба атрибута.Атрибут verbs является необязательным.

Элементы allow и denyиспользуются соответственно для предоставления и запрета доступа.Каждый элемент поддерживает атрибуты,

Users -Определяет конечные удостоверения (учетные записи пользователей) для этого элемента.

Чтобы указать анонимных пользователей, введите вопросительный знак (?).Чтобы указать всех прошедших проверку пользователей, введите звездочку (*)

Roles -Определяет для текущего запроса роль (объект RolePrincipal), которой разрешен или запрещен доступ к ресурсу.Дополнительные сведения см. в разделе Управление авторизацией с помощью ролей.

Verbs -Определяет команды HTTP, к которым применяется действие, например GET, HEAD и POST.Значение по умолчанию — «*» ( все команды).

Пример

К учетной записи Kim и членам роли Admins предоставляется доступ к ресурсу, а учетной записи John (если учетная запись John не включена в роль Admins) и всем анонимным пользователям доступ к этому же ресурсу запрещается.

<authorization>

<allow users="Kim"/> <allow roles="Admins"/> <deny users="John"/> <deny users="?"/> </authorization>

В приведенном ниже примере authorization показано, как предоставить доступ учетной записи John и запретить доступ всем остальным пользователям.

<authorization>

<allow users="John"/> <deny users="*"/> </authorization>

В приведенном ниже примере команду HTTP GET для ресурса разрешается выполнять всем пользователям, а операцию POST — только учетной записи Kim.

<authorization>

<allow verbs="GET" users="*"/> <allow verbs="POST" users="Kim"/> <deny verbs="POST" users="*"/> </authorization>