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

Обновлен: Ноябрь 2007

Служит для настройки удостоверения веб-приложения. Данный элемент может быть объявлен на любом уровне иерархии конфигурационных файлов.

72wdk8cc.alert_note(ru-ru,VS.90).gifПримечание.

Для демонстрации работы данного синтаксиса в примере используется пароль. В реальных приложениях рекомендуется использовать приложение для безопасной работы с паролями.

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

<identity impersonate="true|false"
            userName="domain\username"
           password="<secure password>"/>

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

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

Атрибуты

Атрибут

Описание

Impersonate

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

Указывает, следует ли использовать олицетворение клиента при каждом запросе.

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

ЗначениеОписание
false Указывает, что олицетворение клиента не используется.
true Указывает, что используется олицетворение клиента.

Password

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

Задает используемый пароль для случая, если атрибут impersonate имеет значение true.

Сведения о хранении в системном реестре зашифрованных учетных данных рабочего процесса см. в описании атрибута userName.

userName

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

Задает имя пользователя для случая, если атрибут impersonate имеет значение true.

Этот атрибут и атрибут password сохраняются в текстовом формате в файле конфигурации. Хотя служба Microsoft IIS не передает файлы .config в ответном сообщении на запрос пользовательского агента, их можно прочесть другими способами. Например, пользователь, прошедший проверку подлинности, может прочесть файлы .config, обладая надлежащими учетными данными в домене, содержащем этот сервер. По соображениям безопасности атрибут identity поддерживает хранение в системном реестре зашифрованных значений атрибутов userName и password. Учетные данные должны быть представлены в формате REG_BINARY и шифроваться с помощью функций шифрования API защиты данных (DPAPI) Microsoft Windows 2000 и Windows XP.

Дополнительные сведения см. в подразделах "Примечания" и "Примеры" далее в этом разделе.

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

Отсутствуют.

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

Элемент

Описание

configuration

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

system.web

Задает корневой элемент для раздела конфигурации ASP.NET.

Заметки

Чтобы зашифровать имя пользователя и пароль и сохранить их в реестре, установите значения атрибутов userName и password, как показано в следующем примере.

userName="registry:HKLM\Software\AspNetProcess,Name"password="registry:HKLM\Software\AspNetProcess,Pwd"

Часть строки, находящаяся после зарезервированного слова registry и перед запятой, указывает имя раздела реестра, который открывается при использовании ASP.NET. Часть после запятой содержит одиночное имя (имеющее строковое значение), откуда в ASP.NET считываются учетные данные. Запятая является обязательной, учетные данные должны храниться внутри куста HKLM. Если формат конфигурации неверен, то рабочий процесс не будет запущен средой ASP.NET, а исполнение кода пойдет по ветви, обрабатывающей ошибки создания текущей учетной записи.

Учетные данные должны быть представлены в формате REG_BINARY и содержать результат вызова функции Windows API CryptProtectData. Для создания зашифрованных учетных данных и сохранения их в реестре можно воспользоваться программой Aspnet_setreg.exe, которая выполняет операции шифрования с помощью функции CryptProtectData. Чтобы загрузить программу Aspnet_setreg.exe вместе с исходным кодом Microsoft Visual C++ и документацией, перейдите на веб-узел ASP.NET и выполните поиск "aspnet_setreg".

Доступ к разделу, хранящему зашифрованные учетные данные, необходимо настроить так, чтобы он был возможен только для членов группы "Администраторы" и SYSTEM. Поскольку раздел читается процессом ASP.NET, выполняемым как SYSTEM, следует установить следующие разрешения:

  • Administrators:F

  • SYSTEM:F

  • CREATOR OWNER:F

  • ProcessAccount:R

Тем самым обеспечивается две линии обороны данных, как описано ниже:

  • Разрешения ACL требуют удостоверения администратора для доступа к данным.

  • Для получения учетных данных атакующий должен выполнить код на сервере (API CryptUnprotectData).

Настройки по умолчанию

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

<identity impersonate="false" userName="" password="" />

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

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

System.Web.Configuration.IdentitySection

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

SystemWebSectionGroup.Identity

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

Machine.config

Файл Web.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

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

Общие сведения о конфигурационном ASP.NET

Серверные веб-элементы управления ASP.NET и возможности обозревателей

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

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

Ссылки

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

Элемент <configuration>

System.Configuration

System.Web.Configuration

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

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

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

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

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