как запустить пул приложений iisexpress под другим удостоверением

есть ли способ запустить пул приложений iisexpress под другим идентификатором, отличным от текущего зарегистрированного пользователя?

в настоящее время я решаю эту проблему с помощью команды "runas", но я хотел бы знать, есть ли что-то встроенное в iisexpress, которое я могу использовать.

5 ответов


похоже, это должно быть возможно. В applicationhost вашего сайта IIS Express.конфигурационный файл, есть <processModel/> элемент, определенный в <applicationPoolDefaults> под <applicationPools>

на <processModel> элемент имеет атрибуты для userName и password.

С MSDN:

указывает, что ASP.NET будет выполняться рабочий процесс с идентификатором Windows, который отличается от идентификатора Windows для идентификатора процесса по умолчанию. По умолчанию это атрибут установлен на компьютере, и процесс выполняется под учетной записью пользователя ASPNET, которая создается автоматически, когда ASP.NET устанавливается. Пароль для учетной записи ASPNET криптографически генерируется во время установки. Если в этом атрибуте и атрибуте password представлены допустимые учетные данные, процесс выполняется с данной учетной записью.

это должно позволить вам запускать сайт под разными учетными данными от зарегистрированного пользователя.


"runas" - это только решение. IIS Express может не соблюдать параметры processModel, определенные в applicationhost.конфигурационный файл.


Я не мог заставить вышеупомянутое решение работать, и я хотел иметь возможность отлаживать через Visual Studio при запуске IIS Express под разными учетными данными.

  1. Откройте командную строку с помощью " Запуск от имени администратора "(вам нужны повышенные привилегии)
  2. перейдите в каталог Visual Studio в командной строке (в моем случае: "cd C:\Program файлы (x86)\Microsoft Visual Studio 10.0\Common7\IDE" для VS2010).
  3. runas / netonly / пользователь: [домен]\[userid] devenv.exe
  4. откройте решение из VS и заполните учетные данные TFS (если применимо).

теперь вы можете отлаживать как обычно в IISExpress (предполагая, что именно так вы настроили свой проект) под учетными данными run as. Это здорово, если вам нужно использовать интегрированную безопасность для подключений к базе данных или что-то подобное, но нужно использовать разные учетные данные.


Runas / netonly IISExpress.exe из командной строки работает и очень жизнеспособен, если вы так же отчаянно нуждаетесь в ответе, как и мы. похожие статьи


интересно, действительно ли это работает - IIS Express, похоже, запускает все пулы приложений в одном процессе - и этот процесс выполняется в контексте текущего пользователя...?

кажется, что опция "Запуск от имени" может работать, но для этого потребуется запустить IIS Express из командной строки (или события сборки) вместо того, чтобы полагаться на запуск Visual Studio. :(