При использовании аутентификации с помощью форм у вас имеется выбор, где хранить удостоверения пользователей. Вы можете хранить их в определенном файле или в базе данных; в принципе вы можете хранить их где угодно, если предусмотреть код для проверки имени и пароля пользователя, которые он вводит на странице регистрации по значениям, находящимся в хранилище.
Проще всего хранить удостоверения пользователей непосредственно в файле web.config, в подэлементе <credentials/> конфигурационного дескриптора <forms/>, представленном ранее.
<authentication mode="Forms">
<!-- Подробные опции конфигурации -->
<forms name="MyCookieName"
loginUrl="MyLogin.aspx"
timeout="20">
<credentials passwordFormat="Clear">
<user name="Admin" password="(Admin1)"/>
<user name="Mario" password="Szpuszta"/>
<user name="Matthew" password="MacDonald"/>
</credentials>
</forms>
</authentication>
На заметку! Во-первых, применение web.config как хранилища удостоверений допустимо для простых решений с несколькими пользователями. В более крупных сценариях вы должны применять Membership API, описанный в главе 21. Во-вторых, вы можете подвергнуть хешированию значения паролей, сохраненных в файле web.config. Хеширование — это не более чем однонаправленное шифрование паролей. Это значит, что пароли будут зашифрованы таким образом, что их невозможно будет расшифровать. Подробнее о правильном хешировании паролей при создании пользовательского поставщика Membership вы узнаете в главе 26.
Как упоминалось ранее, вы не обязаны ограничивать доступ к страницам, чтобы использовать аутентификацию. Можно использовать аутентификацию только для персонализации, так что анонимные пользователи будут видеть те же страницы, что и аутентифицированные пользователи (но в слегка измененном, персонализованном виде). Однако для демонстрации функциональности переадресации при аутентификации форм полезно разработать пример, закрывающий доступ анонимным пользователям. Это заставит ASP.NET перенаправлять анонимных пользователей на страницу регистрации.
В главе 23 детально описывается процесс авторизации. А пока вы используете простую технику запрета доступа всем не аутентифицированным пользователям. Чтобы сделать это, необходимо применить элемент <authorization> в файле web.config, чтобы добавить новое правило авторизации, как показано ниже:
<configuration>
<system.web>
<!-- Другие настройки опущены. -->
<authorization>
<deny user="?" />
предыдущая следующая страница вначало главы оглавление
838