Реклама:

■ authentication mode="Forms" /> Данная настройка означает, что ASP.NET не полагается на аутентификацию IIS и включает поддержку собственной системы на основе билетов, которую можно использовать для внедрения аутентификации собственных учетных записей. В этой конфигурации используется модуль FormsAuthenticationModuie, обеспечивающий такие возможности, как прозрачное перенаправление на страницу регистрации и персистентная аутентификация с использованием файлов cookies или строки запроса. Как и в случае с аутентификацией Windows, для проверки соответствия с настройками авторизации в файле web.config вызывается модуль UrlAuthorizationModule. Поскольку при этом вы не имеете дело с учетными записями Windows, проверки списков управления доступом NTFS не выполняются, а модуль FileAuthorizationModule игнорируется.

■ authentication mode»"None" /> В ASP.NET не имеется никаких служб аутентификации, но эта настройка позволяет создать собственную структуру аутентификации. Кроме того, вы все еще можете использовать UrlAuthorizationModule для проверки доступа на основе ролей.

Стандартные модули HttpModules для аутентификации и авторизации регистрируются в разделе <httpModules> глобального файла web.config (и вызываются в том порядке, в котором они регистрируются при подписке на одно и то же событие в конвейере).

<httoModules> <add name="WindowsAuthentication"

type="System.wed.Security.WindowsAutnenticationModule" /> <add nar№="FormsAutrientication"

type="System.Web.Security.FormsAuthenticationModule" /> <add name="PassportAuthentication"

type="System.Web.Security.PassportAuthenticationModule" /> <add name- 'RoleManager"

type="System,Web.Security.RoleMa^agerModule" /> <add name-'UrlAutnorization"

type="System.Web.Security,UrlAutnonzationModule" /> <add name="FiieAur.bori2ation"

type=" Syst его. Web. Security. FileAuthonzationModule" /> </httpModules>

[3 ПРИМЕЧАНИЕ Модуль RoteManager является частью архитектуры провайдера ролей, о которой рассказывается в главе 6. В ASP.NET также поддерживается аутентификация на основе Microsoft Passport. Она используется довольно редко (вне среды Microsott) и в данной главе не описана.

Защитная инфраструктура .NET и защита на основе ролей

Преимущество системы защиты ASP.NET состоит в том, что ваша программная модель не зависит от типа аутентификации, используемого в приложении. ASP.NET (точнее, используемый модуль аутентификации) будет помешать значение в свойство User класса HttpContext, который содержит важную информацию о защите клиента, Вы можете получить эту информацию, применив метод Page.User.

По умолчанию авторизация Microsoft .NET Framework основана на ролях. Эти роли определяются либо вручную, либо на основе группового членства Windows.

В .NET аутентификация и авторизация абстрагированы по двум интерфейсам, ïldentity (аутентификация) и IPrincipal (авторизация). При использовании традиционного механизма аутентификации система Windows упаковывает идентификационные данные и информацию о ролях в непрозрачную единицу — маркер Windows. В .NET эти два отдельных шага — аутентификация пользователя и добавление информации о полномочиях (добавление ролей) — разделены. Такой подход дает больше гибкости. Например, вы можете выполнить аутентификацию с использованием учетной записи Windows и добавить пользователю информацию из базы данных о ролях, которые определяются приложением. Объект Context. User относится к интерфейсу IPrincipal.


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