Глава 23

Авторизация и роли

 

До сих пор вы видели только, как проверять, что пользователи являются действительно теми, за кого себя выдают, и как извлекать информацию об аутентифицированных личностях. Это дает вашим приложениям базовую возможность различать пользователей, но только в начальной точке. Чтобы создать действительно безопасное Web-приложение, вам понадобится выполнять их авторизацию в различных точках приложения.

Авторизация — это процесс определения того, имеет ли аутентифицированный пользователь достаточные привилегий на выполнение того или иного действия. Таким действием может быть запрос Web-страницы, доступ к ресурсу, контролируемому операционной системой (такому как файл или база данных), либо выполнение специфичных для приложения задач (наподобие размещения заказа или назначения проекта). Некоторые из этих проверок Windows осуществляет автоматически, а другие вы можете кодировать декларативно, используя файл web.config. Но некоторые вам придется выполнять непосредственно в своем коде, применяя oбъект IPrincipal.

В настоящей главе вы изучите, как работает авторизация ASP.NET, как защищать различные ресурсы и как реализовать собственную систему безопасности на базе ролей.

Авторизация URL

Самый простой способ, установить права доступа — это установить их на индивидуальные Web-страницы, Web-службы и подкаталоги. В идеале каркас Web-приложения должен поддерживать ресурсно-специфическую авторизацию без необходимости изменения кода и перекомпиляции приложения. ASP.NET поддерживает это требование с помощью декларативных правил авторизации, которые вы можете определять в файле web.config.

Определяемые вами правила действуют через специальный модуль HTTP — UrlAuthorizationModule. Модуль просматривает эти правила и проверяет каждый запрос, чтобы гарантировать, что пользователю не будут доступны ресурсы, доступ к которым ограничен специальным образом. Авторизация этого типа называется авторизацией URL, потому что рассматривает только две детали — контекст безопасности пользователя и URL ресурса, к которому пользователь пытается обратиться. Если доступ к странице запрещен, и вы используете аутентификацию с помощью форм, то пользователь будет перенаправлен на страницу регистрации. Если же, в этом случае, применяется Windows-аутентификация, пользователь получит страницу

предыдущая    следующая страница    вначало главы    оглавление

925

Hosted by uCoz