Mais sucintamente, minha pergunta é se um aplicativo ASP.NET 4.0 em execução no modo integrado do IIS 7 deve ser capaz de honrar essa parte do meu arquivo Web.config:
<location path="auth/windows">
<system.webServer>
<modules>
<remove name="FormsAuthentication"/>
</modules>
</system.webServer>
</location>
Estou experimentando a autenticação de modo misto (Windows e Forms). Usando o Gerenciador do IIS, desativei a autenticação Anônima para auth / windows / winauth.aspx, que está no caminho de local acima. Eu configurei o Rastreamento de Solicitações com Falha para rastrear vários códigos de status HTTP, incluindo 302s.
Quando solicito a página winauth.aspx, um código de status HTTP 302 é retornado. Se eu olhar para o rastreamento de solicitação, posso ver que um 401 (não autorizado) foi originalmente gerado pelo AnonymousAuthenticationModule. No entanto, o FormsAuthenticationModule converte isso em um 302, que é o que o navegador vê. Portanto, parece que minha tentativa de remover esse módulo do pipeline para páginas nesse caminho não está funcionando. Mas eu não estou vendo nenhuma reclamação em qualquer lugar (visualizador de eventos, páginas amarelas da morte, etc.) que indicaria que é uma configuração inválida. Eu quero que o 401 retorne ao navegador, que presumivelmente incluiria um cabeçalho apropriado de WWW-Authenticate.
Alguns outros pontos: a) Eu tenho <authentication mode="Forms">
no meu Web.config, e é para isso que o 302 redireciona; b) Eu tenho o "nome" do módulo que estou tentando remover do arquivo inetserv \ config \ applicationHost.config; c) Eu tenho esse elemento no meu arquivo Web.config: <modules runAllManagedModulesForAllRequests="false">
; d) Eu tentei um elemento <location>
para o caminho no qual eu configurei o modo de autenticação para "Nenhum", mas isso deu uma página de exceção amarela que a propriedade não pode ser definida abaixo do nível do aplicativo.
Alguém teve alguma sorte em remover módulos dessa maneira?
Tags iis-7