<configuration>
<system.web>
<!-- Прочие настройки пропущены -->
<identity impersonate="true" />
</system.web>
</configuration>
Вы можете конфигурировать элемент identity более чем одним способом, в зависимости от желаемого результата. Если вы хотите заимствовать права аутентифицированной IIS учетной записи, то должны использовать следующую установку:
<identity impersonate="true">
Имейте в виду, что если вы открыли анонимный доступ, то можете использовать учетную запись IUSR_[имя_компьютера]. Применяя этот подход, заимствованная учетная запись должна иметь все права, необходимые для запуска кода ASP.NET, включая доступ на чтение-запись в каталог C:\[WinDir]\Microsoft.NET \Framework\[Version]\Temporary ASP.NET Files, где находятся скомпилированные файлы ASP.NET. В противном случае будет выдана ошибка, и страница не будет запущена.
ASP.NET также предоставляет возможность специальной настройки учетной записи, которая будет использована для запуска кода. Эта техника удобна, когда вы хотите запускать различные приложения ASP.NET с разными, но фиксированными привилегиями. В этом случае пользовательская аутентифицированная личность не используется кодом ASP.NET. Это просто устанавливает базовый уровень привилегий, которые вы хотите предоставить приложению. Вот пример:
<identity impersonate="true" userName="matthew" password="secret">
Этот подход более гибкий, чем замена настроек учетной записи machine.config. Настройки machine.config определяют учетную запись по умолчанию, которая будет применена на компьютере для Web-приложений. С другой стороны, установки заимствования прав переопределяют настройки machine.config для индивидуальных Web-сайтов. К сожалению, пароль для заимствованной учетной записи по умолчанию не может быть зашифрован в web.config. Это представляет собой риск нарушения безопасности, если другие пользователи имеют доступ к компьютеру и могут прочитать пароль. Риск особенно велик, если вы применяете заимствование прав с высокопривилегированной учетной записью.
К счастью, вы можете зашифровать эти настройки с помощью предлагаемого Microsoft инструмента под названием aspnet_setreg.ехе. Ниже приведены конфигурационные разделы, которые могут быть зашифрованы этой утилитой ( aspnet_regiis.exe не позволяет этого сделать):
предыдущая следующая страница вначало главы оглавление
919