Конечно, только привилегированные пользователи, такие как администраторы Web-сайта, могут запускать этот код, и процесс, выполняющий его, должен иметь права записи в файл web.config. К тому же код подобного рода не должен входить в само Web-приложение. Он должен входить только в административное приложение. Больше о хешировании паролей вы узнаете из глав 25 и 26.

Аутентификация форм без использования cookie-наборов

Еще одним новшеством 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

Hosted by uCoz