Назад | Перейти на главную страницу

IIS 7.5 на Win server 2008 r2 useAppPoolCredentials

Я пытаюсь настроить проверку подлинности Windows для нового веб-сайта в IIS 7.5. У меня включен модуль проверки подлинности Windows для сайта, а все другие типы проверки подлинности (например, анонимная, базовая и т. Д.) Отключены. Пул приложений для сайта работает под пользовательским удостоверением, для которого правильно установлены заголовки SPN и хоста. При попытке получить доступ к любому содержимому (например, текстовому файлу), размещенному на сайте, через браузер, я получаю ошибку 401.2. Я последовал за это предложение и добавил useAppPoolCredentials атрибут applicationHost.config, и я могу получить доступ к ресурсу с помощью Windows auth.

Затем я удалил атрибут и снова сохранил applicationHost.config, эффективно отменив мои изменения, и я все еще могу получить доступ к ресурсу. Что дает? Может кто-нибудь помочь мне понять это поведение?

Также в одной конкретной установке IIS 7.5 на Win server 2008R2 я заметил, что любые изменения в конфигурации сайта (или приложения) по умолчанию заставляют IIS автоматически генерировать файл Web.config в корне сайта / приложения. Есть ли параметр, позволяющий включить это вместо прямого обновления applicationHost.config?

РЕДАКТИРОВАТЬ Браузер кэшировал ответ, поэтому отмена изменений и сохранение файла не имели никакого значения. Итак, единственный вопрос, который у меня сейчас есть, связан с генерацией Web.config.

Что касается вашего второго вопроса о том, как обеспечить сохранение изменений конфигурации на сайте web.config скорее, чем applicationHost.config, этим можно управлять с помощью делегирования функций.

Если вы перейдете к машинному узлу IIS Manager, вы увидите значок с именем «Feature Delegation»:

Запустите этот «апплет» IIS, и вам будет представлен список функций, конфигурация которых может быть делегирована web.config.

Настройки, отмеченные Читай пиши обычно их настройки записываются в web.config файл. Настройки, отмеченные Только чтение обычно их настройки записываются в applicationHost.config и не может быть отменен в web.config файл.

Так получилось, что <windowsAuthentication> конфигурацию можно делегировать web.config файл.

Незначительная ошибка:

Не все апплеты отображают полный набор параметров, которые вы можете настроить. Хорошим примером этого является <windowsAuthentication> useAppPoolCredentials атрибут. Его нигде не видно в апплете аутентификации, даже под Расширенные настройки.

Однако вы можете получить это значение (и почти все остальное) через Редактор конфигурации. Если вы перейдете к узлу вашего веб-сайта на левой панели в диспетчере IIS, вы увидите этот значок под Управление:

Если вы запустите Редактор конфигурации, вам будет представлен раскрывающийся список, содержащий дерево различных настроек:

Если мы выберем /system.webServer/security/authentication/windowsAuthentication node нам представлен полный спектр настроек, которые можно изменить. Здесь мы видим интересующую нас настройку (useAppPoolCredentials):

Вы можете выбрать, нужно ли настраивать значения для веб-сайта в web.config или в applicationHost.config из Из: раскрывающийся список рядом с раскрывающимся деревом раздела конфигурации:

Если раздел не был делегирован как Читай пиши в web.config то вы увидите следующее:

Мы получаем предупреждение о том, что эта конкретная функция заблокирована, все настройки выделены серым цветом и отключены, и есть замок, указывающий, что дочерние настройки этой функции также заблокированы.

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