Вкратце, мой вопрос заключается в том, должно ли приложение ASP.NET 4.0, работающее в интегрированном режиме IIS 7, учитывать эту часть моего файла Web.config:
<location path="auth/windows">
<system.webServer>
<modules>
<remove name="FormsAuthentication"/>
</modules>
</system.webServer>
</location>
Я экспериментирую саутентификация в смешанном режиме (Windows и Forms - я знаю, что на SO есть другие вопросы по этой теме).Используя IIS Manager, я отключил анонимную аутентификацию для auth / windows / winauth.aspx, которая находится в указанном выше пути.Я настроил отслеживание ошибочных запросов, чтобы отслеживать различные коды состояния HTTP, в том числе 302.
Когда я запрашиваю страницу winauth.aspx, возвращается код состояния 302 HTTP.Если я посмотрю на трассировку запроса, то увижу, что 401 (неавторизованный) был изначально сгенерирован AnonymousAuthenticationModule.Тем не менее, FormsAuthenticationModule преобразует это в 302, который видит браузер.Таким образом, похоже, что моя попытка удалить этот модуль из конвейера для страниц по этому пути не работает.Но я нигде не вижу жалоб (просмотр событий, желтые страницы смерти и т. Д.), Которые бы указывали на неправильную конфигурацию.Я хочу вернуть 401 в браузер, который, вероятно, будет включать соответствующий заголовок WWW-Authenticate.
Несколько других моментов: a) У меня есть <authentication mode="Forms">
в моем Web.config, и это то, что302 перенаправляет на;б) я получил «имя» модуля, который пытаюсь удалить из файла inetserv \ config \ applicationHost.config;c) У меня есть этот элемент в моем файле Web.config: <modules runAllManagedModulesForAllRequests="false">
.
Кому-нибудь повезло, удаляя модули таким способом?