/ / Upgrade do MVC3 para 5, agora o Application_AuthenticateRequest não recebe mais as solicitações de autenticação - c #, asp.net-mvc

Atualizado de MVC3 para 5, agora Application_AuthenticateRequest não recebe mais as solicitações de autenticação - c #, asp.net-mvc

Eu atualizei um projeto antigo contendo.arquivos asmx do MVC 3 para o MVC 5, e agora o manipulador Application_AuthenticateRequest no Global.asax não está mais vendo todas as solicitações. Ele vê as solicitações iniciais de um cliente, meu código retorna o 401 com a autenticação BASIC desejada, mas quando o cliente responde com o conjunto de cabeçalho Auth, Application_AuthenticateRequest nunca recebe a segunda solicitação. Eu usei o Fiddler para verificar isso.

Além disso, alguma coisa - provavelmente a estrutura MVC - está adicionando uma autenticação BASIC própria com realm = "localhost" na resposta inicial, então a resposta inicial do meu aplicativo tem o cabeçalho de autenticação BASIC duas vezes.

Como obtenho o manipulador Application_AuthenticateRequest para ver novamente todos os pedidos usados?

EDITAR PARA ADICIONAR: Eu recebo o mesmo comportamento em um novo projeto MVC5. Mas o problema só acontece para o IIS local; o código funciona bem no IIS EXPRESS.

Eu também tentei o meu código em uma nova instalação do servidor, cujas configurações do IIS são normais.

... Application_BeginRequest é chamado ambas as vezes, então o segundo pedido chega ao aplicativo. Então, eu estou supondo MVC5 adicionou um novo recurso que está "ajudando"?

Respostas:

1 para resposta № 1

Você tem autenticação básica desativada eautenticação anônima habilitada no IIS? O IIS provavelmente está interditando sua solicitação. Se você quiser fazer autenticação básica personalizada, você precisará ter a autenticação básica desabilitada para o IIS. Eu vou adivinhar que é por isso que funciona no IIS expressar a configuração desses dois módulos isapi é diferente / inexistente no IIS- expresso - Chris Marisic


0 para resposta № 2

Para todos os pedidos, acho que você gostaria de usar Application_PostAuthenticateRequest ao invés de Application_AuthenticateRequest