Representação no IIS 7.0

Eu tenho um site que funciona corretamente no IIS 6.0: Ele autentica os usuários com credenciais do Windows e, em seguida, ao falar com o serviço que atinge o banco de dados, ele passa as credenciais.

No IIS 7.0, as mesmas configurações não passam as credenciais, e o banco de dados é atingido com NT AUTHORITY \ ANONYMOUS.

Tem algo que estou perdendo? Eu desliguei o acesso ANONYMOUS no site do IIS 7.0, mas não consigo fazer a coisa funcionar.

Estas são as configurações que estou usando no IIS 6.0 e 7.0:

<code><authentication mode="Windows">
<identity impersonate="true">
</code>

O que mudou de 6,0 para 7,0?

questionAnswers(4)

Seu servidor IIS está configurado para ser confiável para delegação pelo SQLServer? Eu me deparei com isso antes com o WebDAV, onde tivemos que ter o servidor executando o IIS confiável pelo servidor de arquivos para autenticar em nome do servidor de arquivos.

Normalmente, se você estiver fazendo autenticação de salto duplo como essa, o Kerberos estará normalmente envolvido, a menos que a primeira autenticação seja básica.

Gostaria de verificar a autenticação nos servidores IIS 6 e verifique se é o mesmo no IIS 7.

Se a caixa IIS 6 estiver definida como Integrado do Windows, você precisará verificar as configurações do Kerberos - SPNs, Delegação, etc.

QuestionSolution

Houve alterações entre o IIS7 e o IIS6.0. Eu encontrei para você uma postagem no blog que pode realmente ajudar você (clique aqui para ver).

Você está executando seu aplicativo no modo integrado ou no modo clássico? Pelo que vi, colocar o atributo Representar como verdadeiro deve exibir um erro 500 com a seguinte mensagem de erro:

Erro do Servidor Interno. Este é o Erro HTTP 500.19: A página solicitada não pode ser acessada porque os dados de configuração relacionados para a página são inválidos.

Aqui está a solução alternativa que é proposta:

Solução alternativa:

1) Se o seu aplicativo não depender da representação do usuário solicitante nos estágios BeginRequest e AuthenticateRequest (os únicos estágios em que a representação não é possível no modo Integrado), ignore esse erro adicionando o seguinte ao web.config do seu aplicativo:

<code><validation validateIntegratedModeConfiguration="false"
</code>

/>

2) Se o seu aplicativo depender da representação em BeginRequest e AuthenticateRequest, ou se você não tiver certeza, vá para o modo clássico.

Eu esperava que fosse útil entender como o IIS 7.0 agora funciona.

 MrDustpan14 de ago de 2014 16:33
Adicionar esse nó <validation> em <system.webServer> resolveu o problema para mim no IIS 7.5
 Esteban Araya23 de fev de 2009 19:03
@Maxim, Isso não é mais um problema para mim, mas certamente ajuda a entender o problema. Obrigado!

Interessante ... Eu tenho o problema oposto -Não ser capaz para obter a autenticação a ser passada do navegador do cliente, através do servidor da web e para o banco de dados dentro de uma grande rede corporativa através de firewalls.

Eu também sinto que a autenticação "end to end user" para o banco de dados é uma má idéia e um potencial risco de segurança. Não há nada que impeça o usuário final de carregar o SQL Query e conectar-se diretamente ao seu banco de dados, então é melhor ter seu esquema bloqueado!

@Esteban - Esclareceu minhanão é muito útil para ajudar você responda.

yourAnswerToTheQuestion