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

Установка WindowsAuthentication нарушает аутентификацию / web.config?

У меня есть чистый Windows 2008 R2 (на виртуальной машине), и я установил IIS 7.5 с параметрами по умолчанию. Затем я скопировал на него веб-сайт (из Windows 7, IIS 7), и после небольшой настройки веб-сайт работает нормально.

В настоящее время веб-сайт использует и работает с анонимной аутентификацией.

Я вернулся к Windows Components / Sever Manager, Roles -> Security, поставил галочку и установил Windows Authentication.

Когда я проверяю свой сервер в IIS (верхний уровень над сайтами) -> Аутентификация, я вижу
Анонимная аутентификация (включена)
Олицетворение ASP.NET (отключено)
Проверка подлинности с помощью форм (отключено)
Проверка подлинности Windows (включена)

Когда я проверяю свой веб-сайт по умолчанию -> Проверка подлинности, я вижу то же, что и выше, но «Получение статуса» и диалоговое окно с сообщением об ошибке

There was an error while performing this operation.  
Details:  
Filename c:\inetpub\wwwroot\screwturnwiki\web.config
Line number: 96
Error: This configuration section cannot be used in this path. This happens
when the section is being locked at the parent level. Locking is either by default
(overriderModeDefault="Deny"), or set explicity by a location tag with overrideMode="Deny"
or the legacy allowOverride="False".

Я безуспешно пытался отредактировать web.config вручную. (Как использовать блокировку в конфигурации IIS7)

UN-установка Windows Authentication успешно возвращает мой сайт к работе с анонимной аутентификацией и позволяет мне включать / отключать эти три параметра.

К вашему сведению. Я использую ScrewTurnWiki с подключаемым модулем Active Directory. Все это отлично работает под Windows 7 IIS 7 локально (уже несколько месяцев)

Web.Config

<system.webServer>
   (edit)
<handlers> ( deleted removes/adds )  </handlers>
<security>
    <authentication>
96:     <windowsAuthentication enabled="true" useKernelMode="true">
             <extendedProtection tokenChecking="Allow" />
             <providers>
                  <clear />
                  <add value="NTLM" />
                  <add value="Negotiate" />
             </providers>
        </windowsAuthentication>
    </authentication>
</security>

Грр ... RTFM с моей стороны.

Ответ заключался в том, чтобы отредактировать

 %windir%\system32\inetsrv\config\applicationHost.config

Файл и удалите overrideModeDefault="Deny" из раздела безопасности.