Элемент 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 и как они функционируют.

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

NoteNote
В веб-сайтах 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-адреса в других веб-приложениях.

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

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

ЗначениеОписание
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 минут).

NoteNote
В 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. Дополнительные сведения см. в разделе Forms Authentication Across Applications.

При пересылке билета проверки подлинности с помощью форм в 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 Internet Information Services (IIS) версии 5.0, 5.1 или 6.0

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

Microsoft Visual Studio 2003 или Visual Studio 2005

См. также

Задачи

How to: Configure Specific Folders Using Location Settings

How to: Lock ASP.NET Configuration Settings

Reference

Элемент 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

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

Forms Authentication Across Applications

ASP.NET Configuration File Hierarchy

Securing Configuration

Configuration Inheritance

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

ASP.NET Authentication

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

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

Configuring ASP.NET Applications

ASP.NET Configuration Files

ASP.NET Configuration API