почему IIS игнорирует web.config, когда дело доходит до <authentication mode = "Windows" />? - PullRequest
21 голосов
/ 21 апреля 2011

Я использую IIS и пытаюсь развернуть веб-приложение, которому требуется режим аутентификации = "Windows".

Однако на каждой машине, на которой я это делаю, простое развертывание веб-приложения не работает. В web.config написано

<authentication mode="Windows">

но под менеджером IIS написано

Windows Authentication Disabled

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

Я должен автоматически создать новый экземпляр этого веб-приложения для каждого клиента. Требование к ИТ-специалисту вручную перейти к каждому веб-приложению и включить эту функцию не является началом. Мне нужен файл web.config для работы, или мне нужно знать, какой конфигурационный файл мне нужно изменить, чтобы он работал. Я потратил несколько дней, пытаясь разобраться в этом, но безуспешно.

Любая помощь очень ценится.

1 Ответ

30 голосов
/ 21 апреля 2011

Я предполагаю, что вы аутентифицируете пользователей по некоторым учетным записям Windows?Я также предполагаю, что вы хотите, чтобы браузер вызывал запрос имени пользователя и пароля?

Здесь работают две разные вещи.

Настройка <authentication mode="Windows"/> в web.config простоуказание ASP.NET создать удостоверение на основе учетных данных, предоставленных IIS, а не проверкой подлинности с помощью форм (или другого поставщика).Это не параметр, контролируемый IIS, и IIS не имеет видимости этого параметра.Кроме того, изменение этого параметра в web.config не приведет к изменению параметров проверки подлинности для IIS.

При изменении параметров проверки подлинности Windows в IIS MMC вы изменяете параметр в метабазе IIS6 или, если вы используете IIS7,system.webServer/security/authentication раздел (в вашем web.config или, возможно, в applicationHost.config в зависимости от того, как был изменен параметр).

Так что, если вы (вы не знаете это):

  • удалить анонимную аутентификацию с сайта в IIS MMC или удалить разрешения NTFS для анонимной учетной записи в файлах и папках сайтов

  • указать аутентификацию Windows в IIS MMC

Вы не получите вызов имени пользователя и пароля в браузере, независимо от настройки в system.web/authentication.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...