Ошибка ASP.Net: "Личность пула приложений недействительна"
Моя веб-служба ASP.Net не может запускаться из-за невозможности запуска пула приложений из-за того, что он испытывает кризис идентичности.
Пользователь, который я использую в пуле приложений, является пользователем домена, это локальный администратор, он в IIS_WPG, я дал ему "действовать как часть разрешений ОС" - ничего. Нада. Невозможно запустить пул приложений каждый раз.
Добавление пользователя в IIS_WPG обычно отсутствует, но я думаю, что есть что-то еще.
Вещи, которые я пробовал:
- Добавление пользователя в IIS_WPG
- Добавление пользователя в локальную группу администратора и добавление права "действовать как часть os".
- aspnet_regiis -ga
- перезагрузка...
- Проверенный пароль
- Восстановил пул приложений и присвоил ему только мое приложение
p.s.
Если я использую пользователя Network Service, все работает - это просто мой пользовательский пользователь, который не работает. Вход в систему (в интерактивном режиме) с этим пользователем работает.
Edit:
Решение соответствует описанному в принятом ответе (добавление права "Вход в систему" к пользователю идентификации пула приложений).
Я просто добавлю, для справки в будущем, для тех, кто сталкивается со следующим сообщением при попытке добавить право "Войти как услуга" пользователю домена:
"Этот параметр несовместим с компьютеры под управлением Windows 2000 Service Pack 1 или ранее...."
Знайте, что это не имеет ничего общего с Windows 2000, и это политика групповой политики домена, которая мешает вам назначить это право пользователю.
Ответы
Ответ 1
Включили ли вы "Войти в систему как услугу" для учетной записи?
Пуск → Панель управления → Администрирование → Локальная политика безопасности → Локальные политики → Назначение прав пользователя → Вход в систему как служба
(убедитесь, что ваша учетная запись находится в этом списке прямо или косвенно, было также предложено установить: доступ к этому компьютеру из сети; запретить вход в систему локально; вход в систему как пакетное задание)
Кроме того, убедитесь, что учетная запись имеет "Чтение и выполнение", "Список содержимого папки" и "Чтение" доступа к файловой системе, которая лежит в основе веб-сайта/приложения.
Ответ 2
Попробуйте выполнить следующую команду в папке C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
:
aspnet_regiis -ga <your_app_pool_user>
Дополнительные сведения о настройке учетной записи пользователя для использования в качестве идентификатора пула приложений см. в следующей статье:
Как создать учетную запись службы для приложения ASP.NET 2.0 (MSDN)
Ответ 3
Убедитесь, что есть папка c:\inetpub\temp\apppools. Если нет, создайте его.
Ответ 4
Убедитесь, что учетная запись пользователя, пытающаяся получить доступ к пулу приложений, является членом группы IIS_USRS
в AD.
Ответ 5
Что происходит, скорее всего, вы запускаете свое приложение внутри пула, на котором запущены приложения, используя другую версию .NET framework. Убедитесь, что все ваши приложения внутри этого пула работают с одинаковой версией. Если эти приложения должны работать под другой версией, чем этот, создайте новый пул и добавьте в него свое приложение.
Ответ 6
Я знаю, что это просто, но вы правильно проверили пароль?
Ответ 7
Имея эту проблему раньше и не в состоянии отслеживать причину, я сочувствую! Некоторые указатели, которые могут помочь:
- Проверьте правильность пароля (извините, что нужно сказать)
- Используйте новый пул приложений, в котором не работает другой веб-сайт.
- Убедитесь, что вы запустили aspnet_regiis -ga для установки необходимых разрешений.
Если все остальное не выполнено:
- Остановить приложение и удалить пул приложений.
- Удалить пользователя
- Повторно создать пользователя
- Запустить aspnet_regiis -ga
- Настройте новый пул приложений, работающий под этим пользователем.
- Запустить сайт под этим пулом
Это вместе с копированием и вставкой сложного пароля, который я использовал, работал у меня!
Ответ 8
Есть ли у вас групповая политика, которая вытаскивает учетную запись из группы iis_wpg? У нас есть эта (или аналогичная) проблема часто, когда по какой-либо причине рабочий процесс или служба должны запускаться под собственной учетной записью.
Ответ 9
Учетная запись пользователя пула приложений может быть заблокирована.
Ответ 10
Другой способ, который может произойти, - это иметь сценарии CGI. По умолчанию сценарии CGI запускаются как пользователь Windows, обращающийся к веб-сайту. Чтобы запустить скрипты CGI под определенной учетной записью, вам потребуется дополнительный шаг:
IIS 7 +
Перейдите в раздел CGI в конфигурации вашего веб-сайта в файле inetmgr.exe. Установите олицетворение на false.
IIS 6
Запустите эти команды как администратор:
cd \inetpub\adminscripts
cscript.exe Adsutil.vbs SET W3Svc/CreateProcessAsUser false
Следующий шаг: получите ИТ-отдел, чтобы обновить все ваши машины WS2003...
Ответ 11
После выполнения всех других предложений:
- Установите флажок "Войти как услуга" и "Войти как пакетное задание".
- Проверить права на папку, c:\Windows\system32\inetsrv и т.д.
- В Metabase Explorer проверьте разрешения для группы IIS_WPG
Не забудьте перезапустить службу администрирования IIS!
Ответ 12
Еще одна важная вещь, которая стоит упомянуть, может заключаться в том, что если это новая учетная запись пользователя, созданная администратором, политика по умолчанию может применяться как "сменить пароль при первом входе в систему". Если это так и что вход в систему еще не произошел, это также эффективно заблокирует учетную запись пользователя из службы.
Это не относится к случаю OP, так как он упоминает, что он может входить в интерактивный режим с помощью учетной записи, но я столкнулся с этим сегодня, а кто-то еще может тоже.
Ответ 13
В моем случае проблема заключалась в том, что я пытался использовать учетную запись домена, когда у контроллера домена возникла проблема с моей машиной. Я только что создал новую виртуальную машину с более новой версией Windows (Windows 10) и попросил администратора домена добавить ее в домен, но я сохранил то же имя хоста, что и на другой машине.
Кроме того, в средстве просмотра событий я обнаружил сообщения об ошибках в отношении контроллера домена и т.д., которые дали мне ключ.
Мне пришлось удалить машину из домена и добавить ее снова, и проблема была решена.
Ответ 14
Простой ответ для полноты, потому что я получал ту же ошибку, но то, что исправлено для меня, заключалось в том, чтобы включить домен с именем пользователя при настройке идентификатора. Пользователь был действительным пользователем домена и пользователем для сервера, и я добавил его в группу IIS_ вручную, но не купил, пока не попытался добавить домен в качестве префикса, например. "Мы\SVC-MyAccount".