Autenticação do Windows KRB5KRB_AP_ERR_MODIFIED

1

Deixe-me começar dizendo que estou nessa questão há cerca de uma semana e meia e não consigo entender. Eu acho que estou perto, mas toda vez que eu pensei que até agora, eu estava errado. Eu olhei para todos os posts do fórum que eu posso pensar em procurar e nada funcionou.

Estou apenas tentando fazer com que meu aplicativo da Web e seu respectivo serviço usem a autenticação do Windows para que, em código, eu possa puxar as credenciais do usuário conectado no momento, sem avisá-las, e passá-las para o meu banco de dados armazenado pelo serviço .

Parece fácil, certo?

ERRADO!

Com o WireShark sendo executado, recebo uma resposta de KRB_ERROR (30) com mais detalhes sobre:

error_code: KRB5KRB_AP_ERR_MODIFIED (41)

Vou tentar isso amanhã , mas Eu pensei em postar agora, caso alguém tenha uma idéia de por que eu continuo recebendo o erro KRB5KRB_AP_ERR_MODIFIED com base na configuração atual que listarei abaixo.

Aqui está minha configuração atual:

RAM de 4,00 GB de 64 bits do Windows Server 2008 R2 Standard .

Por causa deste post, vamos chamar este servidor DALDEP01.TEST.LOCAL , e nele eu tenho o seguinte:

  • MS SQL Server 2008 R2 que tem um banco de dados que chamaremos Implementar .

    1. Apenas uma conta de usuário tem acesso ao db Implementar , que é TEST \ DeploySvc .

    2. Esta conta de usuário é um datareader / datawriter e foi concedida < em> EXEC .

  • IIS 7.5 que hospeda dois sites:

    1. Deploy.Service que torna as operações CRUD no Implantar db.

    2. Deploy.Web que hospeda um aplicativo Silverlight 4 que faz chamadas para o > Deploy.Service .

    3. Ambos os sites são configurados de forma idêntica (porque não sei ao certo como fazer isso) :

      • Eles usam DeployAppPool que é executado na conta de usuário personalizada TEST \ DeploySvc .

      • A autenticação anônima é desativada .

      • A autenticação do Windows é ativada

        1. A proteção estendida é Aceitar .

        2. Ativar a autenticação no modo kernel é Verificado .

        3. Os fornecedores são apenas Negociar , quando removi o NTLM porque quero apenas o Kerberos .

  • Os SPNs são configurados da seguinte forma:

C: \ > setspn -l deploysvc

ServicePrincipalNames registrados para CN = DeploySvc, OU = Contas de serviços, DC = teste, DC = local:
HTTP / deploy.test.local
HTTP / implantar

    
por Code Maverick 17.04.2014 / 00:36

2 respostas

1

É possível que um SPN duplicado cause esse problema ...

setspn -X

... mostrará a você se houver alguma duplicata em seu domínio e você precisará remover a que foi ofendida. Ou você pode usar o Utilitário de consulta SPN . Eu também estou supondo que você já modificou a guia de delegação no AD para a conta de serviço para que seja confiável para delegação?

    
por 17.04.2014 / 02:42
1

Recentemente, tive o mesmo problema.

Acabou sendo relacionado ao SPN. O SPN foi mapeado para a conta de máquina do SQL Server em vez de mapeado para a conta de serviço que estava executando o SQL Server.

Nós excluímos e recriamos o SPN - mapeado para a conta de serviço que está executando o SQL Server 2012R2 no host e tudo era molho.

    
por 01.07.2015 / 17:40