Удаление HttpModule для определенного пути в приложении ASP.NET / IIS 7? - PullRequest
6 голосов
/ 17 июня 2010

Вкратце, мой вопрос заключается в том, должно ли приложение 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">.

Кому-нибудь повезло, удаляя модули таким способом?

1 Ответ

0 голосов
/ 17 июня 2010

Вместо удаления модуля, как насчет удаления проверки подлинности с помощью форм для этого пути?

  <location path="auth/windows"> 
    <system.Web> 
        <authentication mode="None"/> 
    </system.Web> 
  </location> 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...