Элемент forms для элемента credentials для элемента authentication (схема параметров ASP.NET)

Настраивает приложение ASP.NET для пользовательской проверки подлинности на основе форм.

<forms 
   name="name" 
   loginUrl="URL" 
   defaultUrl="URL"
   protection="[All|None|Encryption|Validation]"
   timeout="[MM]"
   path="path"
   requireSSL="[true|false]"
   slidingExpiration="[true|false]">
   enableCrossAppRedirects="[true|false]"
   cookieless="[UseUri|UseCookies|AutoDetect|UseDeviceProfile]" 
   domain="domain name"
   ticketCompatibilityMode="[Framework20|Framework40]">
   <credentials>...</credentials>
</forms>

Атрибуты и элементы

В следующих разделах описаны атрибуты, дочерние и родительские элементы.

Атрибуты

Атрибут

Описание

cookieless

Необязательный атрибут.

Определяет, используются ли файлы Cookie и как они функционируют.

Этот атрибут может принимать одно из следующих значений.

ПримечаниеПримечание
В веб-сайтах ASP.NET с поддержкой AJAX следует использовать значение по умолчанию UseCookies для атрибута cookieless.Параметры, которые используют файлы Cookie, закодированные в URL-адресе, не поддерживаются библиотеками клиентских скриптов ASP.NET AJAX.
ЗначениеОписание
UseCookies Определяет, будут ли файлы Cookie использоваться всегда, вне зависимости от устройства.
UseUri Указывают, что файлы Cookie не будут использоваться никогда.
AutoDetect Указывает использовать файлы Cookie в том случае, если профиль устройства поддерживает файлы Cookie; в ином случае файлы Cookie не используются.Для обозревателей настольных систем, заведомо поддерживающих использование файлов Cookie, будет применяться механизм тестирования в целях использования файлов Cookie, если их поддержка включена.Если устройство не поддерживает файлы Cookie, механизм тестирования использоваться не будет.
UseDeviceProfile Указывает использовать файлы Cookie, если обозреватель поддерживает файлы Cookie. В ином случае файлы Cookie не используются. Для устройств с поддержкой файлов Cookie тестирование с целью определить, включена ли поддержка файлов Cookie, не производится.

Этот атрибут не использовался до .NET Framework версии 2.0.

По умолчанию используется значение UseDeviceProfile.

defaultUrl

Необязательный атрибут.

Определяет URL-адрес по умолчанию, который используется для перехода после проверки подлинности.

Этот атрибут не использовался до .NET Framework версии 2.0.

По умолчанию используется значение "default.aspx".

domain

Необязательный атрибут.

Определяет дополнительный домен для настройки исходящих файлов Cookie проверки подлинности с помощью форм. Этот параметр имеет приоритет по сравнению с доменом, который используется в элементе httpCookies.

Этот атрибут не использовался до .NET Framework версии 2.0.

Значение по умолчанию — пустая строка ("").

enableCrossAppRedirects

Необязательный атрибут.

Показывает, переадресуется ли пользователь, прошедший проверку подлинности, на URL-адреса в других веб-приложениях.

ПримечаниеПримечание
При переадресации в различных приложениях следует убедиться, что несколько атрибутов в Элемент forms для элемента credentials для элемента authentication (схема параметров ASP.NET) дублируются в приложениях, прошедших проверку подлинности.Дополнительные сведения и пример см. в разделе Проверка подлинности форм между приложениями.

Этот атрибут может принимать одно из следующих значений.

ЗначениеОписание
True Определяет, что пользователь, прошедший проверку подлинности, переадресуется на URL-адреса в других веб-приложениях.
False Определяет, что пользователь, прошедший проверку подлинности, не может переадресовываться на URL-адреса в других веб-приложениях.

Этот атрибут не использовался до .NET Framework версии 2.0.

По умолчанию используется значение False.

loginUrl

Необязательный атрибут.

Задает URL-адрес, на который должен быть перенаправлен запрос на вход, если допустимый файл Cookie проверки подлинности не найден.

По умолчанию используется значение login.aspx.

name

Необязательный атрибут.

Задает используемый для проверки подлинности файл Cookie HTTP. Если на одном сервере запущено несколько приложений и каждому приложению требуется уникальный файл Cookie, то необходимо настроить имя файла Cookie в файле Web.config для каждого приложения.

По умолчанию используется значение ".ASPXAUTH".

path

Необязательный атрибут.

Задает путь для создаваемых приложением файлов Cookie.

Значением по умолчанию является косая черта (/), поскольку большинство обозревателей учитывают регистр символов и не отсылают файлы Cookie назад, если имеется несоответствие регистра символов в строке пути.

protection

Необязательный атрибут.

Задает тип шифрования (если оно применяется), используемого для файлов Cookie.

Этот атрибут может принимать одно из следующих значений.

ЗначениеОписание
All Указывает на то, что приложение использует для защиты файлов Cookie как проверку данных, так и шифрование.В этом параметре используется алгоритм настроенной проверки данных, основанной на элементе machineKey.Для шифрования используется тройной алгоритм DES (3DES), если доступен сам алгоритм, а ключ имеет длину не менее 48 байтов.Значение All является рекомендуемым значением по умолчанию.
Encryption Указывает, что шифрование файлов Cookie выполняется с помощью алгоритмов 3DES или DES, но проверка данных в файлах Cookie не производится.Используемые таким образом файлы Cookie могут стать объектом некоторых атак открытого текста.
None Указывает, что как шифрование, так и проверка отключены для тех веб-узлов, которые используют файлы Cookie только для личной настройки и имеют менее жесткие требования безопасности.Не следует использовать файлы Cookie таким образом; тем не менее, это наименее ресурсоемкий способ обеспечить возможность личной настройки в платформе .NET Framework.
Validation Указывает схеме проверки подтверждать неизменность содержимого зашифрованного файла Cookie при передаче.Файл Cookie создается посредством проверки файлов Cookie путем присоединения к данным файла Cookie ключа проверки, а также вычисления кода проверки подлинности сообщения, который добавляется к исходящему файлу Cookie.

По умолчанию используется значение All.

requireSSL

Необязательный атрибут.

Указывает, требуется ли SSL-соединение для передачи файлов Cookie проверки подлинности.

Этот атрибут может принимать одно из следующих значений.

ЗначениеОписание
True Указывает, что для защиты учетных данных пользователя требуется SSL-соединение. При значении True ASP.NET задает свойство Secure для файла Cookie проверки подлинности, и совместимый обозреватель не возвращает файл Cookie, если только при соединении не используется шифрование SSL.
False Показывает, что SSL-соединение не требуется для передачи файлов Cookie.По умолчанию используется значение False.

По умолчанию используется значение False.

slidingExpiration

Необязательный атрибут.

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

Этот атрибут может принимать одно из следующих значений.

ЗначениеОписание
True Указывает на использование скользящего срока действия.Файл Cookie проверки подлинности обновляется, и при последующих запросах в рамках одного сеанса время срока действия сбрасывается.
False Указывает, что скользящий срок действия не поддерживается и срок действия файла Cookie истекает через заданное время после его первоначального создания.

Значение по умолчанию — True.

ticketCompatibilityMode

Необязательный атрибут.

Определяет, какое время используется для даты окончания срока действия билета при проверке подлинности форм: в формате UTC или местное.

Этот атрибут может принимать одно из следующих значений.

ЗначениеОписание
Framework20 Указывает, что дата окончания срока действия билета хранится в виде местного времени.
Framework40 Указывает, что дата окончания срока действия билета хранится в формате UTC.

Значение по умолчанию — Framework20.

timeout

Необязательный атрибут.

Определяет промежуток времени в минутах, после которого срок действия файлов Cookie истекает. Если для атрибута SlidingExpiration установлено значение true, атрибут timeout является скользящим значением, которое истекает через установленный интервал в минутах со времени получения последнего запроса. Чтобы избежать снижения производительности и появления многочисленных предупреждений обозревателя в случае, когда включены предупреждения файлов Cookie, обновление файлов Cookie выполняется по прошествии более половины указанного времени. Это может привести к потере точности. По умолчанию используется значение "30" (30 минут).

ПримечаниеПримечание
В ASP.NET версии 1.1 срок действия постоянных файлов Cookie не истекает вне зависимости от значения атрибута времени ожидания.Однако в ASP.NET версии 2.0 срок действия постоянных файлов Cookie истекает согласно настройке атрибута времени ожидания.

Дочерние элементы

Подтег

Описание

credentials

Разрешает необязательные определения учетных данных (имени и пароля) в файле конфигурации. Кроме того, для управления проверкой можно реализовать использование внешнего источника (например базы данных) в настраиваемой парольной схеме.

Родительские элементы

Элемент

Описание

configuration

Задает обязательный корневой элемент любого файла конфигурации, который используется средой CLR и приложениями .NET Framework.

system.web

Задает корневой элемент для параметров конфигурации ASP.NET в файле конфигурации и содержит элементы конфигурации для настройки веб-приложений ASP.NET и управления работой этих приложений.

authentication

Настраивает схему проверки подлинности ASP.NET, используемую для идентификации пользователей, которые работают с приложением ASP.NET.

Заметки

Элемент forms настраивает приложение ASP.NET для пользовательской проверки подлинности с помощью форм. Если на одном сервере выполняются несколько приложений, то для каждого приложения в файле Web.config необходимо настроить атрибуты элемента forms. Дополнительные сведения см. в разделе Проверка подлинности форм между приложениями.

При пересылке билета проверки подлинности с помощью форм в URI максимальный размер URI может быть превышен. Если общая длина билета анонимного идентификатора, билета подлинности форм, идентификатора сеанса и данных пользователя больше максимально допустимой длины URI, запрос завершится неудачно с ошибкой 400-Bad Request (неверный запрос).

Параметры по умолчанию

Следующий установленный по умолчанию элемент forms не задается явно ни в файле Machine.config, ни в корневом файле Web.config. Однако данное приложение в .NET Framework версии 2.0 возвращает эту конфигурацию по умолчанию.

<forms 
   name=".ASPXAUTH" 
   loginUrl="login.aspx" 
   defaultUrl="default.aspx" 
   protection="All" 
   timeout="30" 
   path="/" 
   requireSSL="false" 
   slidingExpiration="true" 
   cookieless="UseDeviceProfile" domain="" 
   enableCrossAppRedirects="false">
   <credentials passwordFormat="SHA1" />
</forms>

Для .NET Framework версии 1.1 следующий элемент по умолчанию forms настраивается в файле Machine.config.

<forms 
   name=".ASPXAUTH" 
   loginUrl="login.aspx" 
   protection="All"  
   timeout="30" 
   path="/" 
   requireSSL="false" 
   slidingExpiration="true">
   <credentials passwordFormat="SHA1"></credentials>
</forms>

Для .NET Framework версии 1.0 следующий элемент по умолчанию forms настраивается в файле Machine.config.

<forms 
   name=".ASPXAUTH" 
   loginUrl="login.aspx" 
   protection="All"  
   timeout="30" 
   path="/" >
   <credentials passwordFormat="SHA1"></credentials>
</forms>

Пример

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

<configuration>
   <system.web>
   <authentication mode="Forms">
      <forms 
      name="401kApp" 
      loginUrl="/login.aspx"
      cookieless="AutoDetect"
      defaultUrl="myCustomLogin.aspx">
      <credentials passwordFormat = "SHA1">   
         <user name="UserName" 
         password="07B7F3EE06F278DB966BE960E7CBBD103DF30CA6"/>
      </credentials>   
      </forms>
   </authentication>
   </system.web>
</configuration>

Сведения об элементе

Обработчик раздела конфигурации

AuthenticationSection

Элемент конфигурации

FormsAuthentication

FormsAuthenticationConfiguration

Настраиваемые расположения

Machine.config

Файл Web.config корневого уровня

Файл Web.config уровня приложения

Требования

Microsoft IIS версии 5.0, 5.1 или 6.0

.NET Framework версии 1.0, 1.1 или 2.0

Microsoft Visual Studio 2003 или Visual Studio 2005

См. также

Задачи

Практическое руководство. Настройка отдельных каталогов с помощью параметров расположения

Пошаговое руководство. Отключение параметров конфигурации ASP.NET

Ссылки

Элемент authentication (схема параметров ASP.NET)

Элемент credentials для элемента forms для элемента authentication (схема параметров ASP.NET)

Элемент system.web (схема параметров ASP.NET)

Элемент passport для элемента credentials для элемента authentication (схема параметров ASP.NET)

Элемент configuration (схема общих параметров)

System.Configuration

System.Web.Configuration

AuthenticationSection

FormsAuthentication

Основные понятия

Проверка подлинности форм между приложениями

Иерархия и наследование файла конфигурации ASP.NET

Настройка обеспечения безопасности ASP.NET

Сценарии конфигурации ASP.NET

Другие ресурсы

Проверка подлинности ASP.NET

Общие параметры конфигурации (ASP.NET)

Параметры конфигурации ASP.NET

Администрирование веб-сайта ASP.NET

Файлы конфигурации ASP.NET

Конфигурационный API-интерфейс настройки ASP.NET