Как запустить iisexpress приложение пула под другим идентификатором
существует ли способ запуска iisexpress пула приложений под другим идентификатором, отличным от текущего зарегистрированного пользователя?
Я обойду эту проблему, используя команду runas, но я хотел бы знать, есть ли что-то встроенное в iisexpress, которое я могу использовать.
Ответы
Ответ 1
Похоже, это должно быть возможно. В файле applicationhost.config сайта IIS Express есть элемент <processModel/>
, определенный в <applicationPoolDefaults>
в разделе <applicationPools>
Элемент <processModel>
имеет атрибуты для userName
и password
.
От MSDN:
Указывает, что ASP.NET будет запускать рабочий процесс с идентификатором Windows, который отличается от идентификатора Windows для идентификатора процесса по умолчанию. По умолчанию этот атрибут установлен на "Машина", и процесс выполняется под учетной записью пользователя с именем ASPNET, которая создается автоматически при установке ASP.NET. Пароль для учетной записи ASPNET криптографически генерируется во время установки. Если действительные учетные данные представлены в этом атрибуте и атрибуте пароля, процесс запускается с указанной учетной записью.
Это должно позволить вам запускать сайт под разными учетными данными от зарегистрированного пользователя.
Ответ 2
"runas" - это только решение. IIS Express может не учитывать параметры processModel, которые определены в файле applicationhost.config.
Ответ 3
Я не мог заставить вышеуказанное решение работать, и я хотел иметь возможность отлаживать Visual Studio во время работы с IIS Express под разными учетными данными.
- Откройте командную строку с помощью команды "Запуск от имени администратора" (вам нужны повышенные привилегии)
- Перейдите в каталог Visual Studio в командной строке (в моем случае: "cd C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE" для VS2010).
- runas/netonly/user: [domain]\[userid] devenv.exe
- Откройте свое решение из VS и заполните ваши учетные данные TFS (если применимо).
Теперь вы можете отлаживать как обычно в IISExpress (при условии, что это так, как вы настроили свой проект) под управлением в качестве учетных данных. Это здорово, если вам нужно использовать интегрированную защиту для подключения к базе данных или что-то подобное, но вам нужно использовать разные учетные данные.
Ответ 4
Интересно, действительно ли это работает - IIS Express запускает все пулы приложений в одном процессе - и этот процесс выполняется в контексте текущего пользователя...?
Кажется, что опция "Запускать" может работать, но для этого потребуется запустить IIS Express из командной строки (или создать событие) вместо того, чтобы полагаться на запуск Visual Studio.: (
Ответ 5
Runas/netonly IISExpress.exe из командной строки работает и является очень жизнеспособным, если вы так же отчаянно нуждаетесь в ответе, как и мы. Связанный пост