IIS, SQLServer, Google Chrome e Autenticação do Windows

1

Estou pesquisando na internet há quase 4 dias e estou preso.

Eu criei um site de Intranet ASP MVC4 simples e o implantei no servidor chamado: iis . Esse computador está dentro do mesmo domínio que eu tenho no meu computador.

Dentro do meu domínio, eu tenho 3 computadores: my_pc , iis server e sql server.

Quando eu digito o endereço http://iis no meu pc, vejo que estou logado corretamente:

IssofuncionanoIEenoChrome.<-atéagoraestátudobem!

OproblemacomeçaquandotentofazerumaconsultasqldentrodaminhapáginadaWeb-ControladorWebAPI.

NoIE,obtenhooresultadocorreto,masnoChromeobtenhooerro:

Dentro do Web.config eu solicitei a configuração:

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

Por dentro do IIS Desabilitei a autenticação anônima e habilitei a autenticação do Windows.

Meu IIS é confiável para delegar solicitações ao meu servidor SQL.

A parte mais estranha é que quando tento abrir minha página da Web (com consulta sql) recebo erro, quando abro a mesma página no IE (que é bem-sucedida) e atualizo o site Chrome carrega corretamente e funciona por algum tempo (aleatoriamente, às vezes 5 minutos, às vezes 30 segundos).

Eu tentei adicionar o atributo [Authorize] a métodos específicos, mas isso não ajudou.

Parece que o Chrome não está passando o símbolo do kerberos para o IIS.

Eu tentei as etapas descritas aqui: link , mas sem sorte.

Alguém poderia instruir meu passo-a-passo sobre como devo configurar o Google Chrome e descansar (IIS, SQL, se necessário) para usar a Autenticação do Windows no Chrome?

    
por Misiu 14.02.2013 / 17:38

1 resposta

1

Seu problema é que você está usando a documentação do chromium para solucionar um problema do Google Chrome. Embora semelhantes, eles são dois navegadores diferentes. Você precisa ativar a delegação listando em branco os servidores aos quais o IIS pode delegar. A maneira como você faz isso no Chrome é semelhante ao cromo, mas no caso das chaves do Registro, é necessário usar o [HKEY_LOCAL_MACHINE \ SOFTWARE \ Policies \ Google \ Chrome] para cromo em vez de [HKEY_LOCAL_MACHINE \ SOFTWARE \ Policies \ Chromium] para o cromo .

Quando você lê o documento, descobre que é possível usar a Política de Grupo, o Chrome for Business ou a linha de comando para ativar a delegação, mas, na sua configuração, presumo que você tenha usado a opção de registro. Eu acho que a chave essencial para definir é AuthNegotiateDelegateWhitelist. Defina o valor para "*" para iniciar. Depois de ativá-lo, bloqueie-o apenas para os servidores desejados alterando * para uma lista separada por vírgula de servidores, seja por endereço IP ou nome DNS. Wild cards são permitidos. Você pode querer olhar para a chave AuthServerWhiteList também.

    
por 02.03.2014 / 09:32