Конечно, только привилегированные пользователи, такие как администраторы Web-сайта, могут запускать этот код, и процесс, выполняющий его, должен иметь права записи в файл web.config. К тому же код подобного рода не должен входить в само Web-приложение. Он должен входить только в административное приложение. Больше о хешировании паролей вы узнаете из глав 25 и 26.
Еще одним новшеством ASP.NET 2.0 является встроенная поддержка аутентификации форм без сооkiе-наборов. В ASP.NET 1.x приходилось самостоятельно писать функциональность подобного рода. Если вы не хотите, чтобы исполняющая система использовала cookie-наборы, то настраиваете это с помощью атрибута cookieless дескриптора <form/> в разделе <authentication/>.
<authentication mode="Forms">
<!-- Подробные опции конфигурации -->
<forms name="MyCookieName"
loginUrl="MyLogin.aspx"
cookieless="AutoDetect" />
</authentication>
Опция cookieless, включает следующие возможные установки:
Таблица 20.3. Опция, cookieless в конфигурации <forms />
| Опция | Описание |
|---|---|
| UseCookies | Принуждает исполняющую систему использовать cookie-наборы
при аутентификации с помощью форм. Это требует от клиентского
браузера поддержки cookie-наборов. |
| UseUri | Если выбрана эта опция конфигурации, cookie-наборы для аутентификации не используются. Вместо этого исполняющая система
кодирует мандат аутентификации форм в запрошенный URL, и
инфраструктура обрабатывает эту специфическую часть URL для
установки контекста безопасности. |
| AutoDetect | Инициирует применение cookie-наборов, если клиентский браузер
их поддерживает. В противном случае используется
URL-кодировка мандата. Устанавливается через механизм зондирования. |
| UseDeviceProfile | Решение о применении cookie-наборов или URL-кодировки
принимается на основе конфигурации профиля, хранящейся на сервера.
Профили хранятся в файлах .browser в каталоге <drive>:\<Каталог_Windows>\Microsoft.NET\Framework\v2.0.50215\CONFIG\Browsers. |
Как уже упоминалось ранее, хранилище удостоверений в web.config подходит только для простейших сценариев. Вы можете отказаться от использования web.config в качестве хранилища удостоверений по нескольким причинам:
предыдущая следующая страница вначало главы оглавление
845