Реклама:

If (UrlAuthorizationModule.CheckUrlAccessForPrincipal( ""/page.aspx", Context.User, "GET")) { }

Вы можете пропустить авторизацию URL, присвоив свойству Context.SkipAuthori' zation перед запуском модуля UrlAuthorizationModule значение true.

ВНИМАНИЕ! Если вы используете аутентификацию Windows, то имена пользователей и ролей должны быть указаны полностью, например: Авторизация/Учетная_запись как Domain/Sales. Если вы пропустите полномочия, то будет подразумеваться локальная машина.

Рекомендация Начните с конфигурирования в файле web.config доступа ролей к каталогам или страницам. Если вам требуется более серьезный контроль, например, когда поведение страницы должно зависеть от пользователя, используйте метод Contexl.UserJsInRole непосредственно в странице. В ASP.NET 2.0 введены также некоторые новые элементы управления, например SiteMapDataSource и Login View, которые изменяют поведение в соответствии с ролями, членами которых является пользователь. Эти элементы управления описаны в главе 6.

Аутентификация сервера

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

Очевидным выбором серверной аутептификации является протокол безопасных соединений Secure Sockets Layer (SSL). (Более подробную информацию об установке SSLb IIS вы найдете в разделе «Развертывание и конфигурация» главы 9.) Побочный продукт аутентификации SSL заключается в том, что клиент и сервер совместно используют секретный ключ, который применяется для шифрования и защиты целостности трафика HTTP.

Следует помнить, что HTTP представляет собой открытый протокол, поэтому сразу же после передачи пароля или уязвимых данных некоторого типа вам потребуются «на проводе» конфиденциальность и целостность.

И ПРИМЕЧАНИЕ SSL не обеспечивает защиты приложений от программных ошибок, но, по крайней мере, защищает коммуникационный путь между клиентом и сервером.

Использование учетных записей Windows

В этом разделе описаны средства и возможности управления пользователями с помощью учетных записей Windows. При наличии таких учетных записей вам не нужно писать собственные коды аутентификации, поскольку имеется возможность пользоваться преимуществами встроенной аутентификации Windows в IIS.

При изменении в файле web.config режима аутентификации на аутентификацию Windows в ASP.NET для извлечения маркера Windows, полученного в результате аутентификации IIS, используется модуль WindowsAuthenticationModule, который делает этот маркер доступным через Context.User (тип WindowsPrincipal, содержащий Windowsldentity). Применяемая схема аутентификации показана на рис. 5-5.

Байер Доминик Microsoft ASP.NET. Обеспечение безопасности. Мастер-класс

Рис. 5-5. Аутентификация Windows

Наличие у клиента доступа к классу Windozesidentity позволяет использовать такие расширенные специфические функции Windows, как олицетворение и делегирование, которые мы рассмотрим далее в этой главе.


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