Элемент identity (схема параметров ASP.NET)
Обновлен: Ноябрь 2007
Служит для настройки удостоверения веб-приложения. Данный элемент может быть объявлен на любом уровне иерархии конфигурационных файлов.
Примечание. |
---|
Для демонстрации работы данного синтаксиса в примере используется пароль. В реальных приложениях рекомендуется использовать приложение для безопасной работы с паролями. |
Элемент <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="" />
Сведения об элементе
Обработчик раздела конфигурации |
|
Элемент конфигурации |
|
Настраиваемые расположения |
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
Ссылки
Элемент system.web (схема параметров ASP.NET)
Другие ресурсы
Параметры конфигурации ASP.NET