Л7 Система безопасности ASP.NET
.pdfИспользование авторизации 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>