none
SqlException (0x80131904): Falha de logon do usuário 'AUTORIDADE NT\IUSR' RRS feed

  • Pergunta

  • Prezados,

    Desenvolvi uma aplicação web que faz acesso a uma base SQL SERVER.

    Instalei o IIS 7, e coloquei as portas TCP 1433 e UDP 1434 no Firewall, conforme as recomendações.

    Quando faço o debug pelo Visual Studio, a aplicação funciona corretamente. Quando faço o Build e coloco a aplicação no IIS recebo o erro:

    Falha de logon do usuário 'AUTORIDADE NT\IUSR'.

    SqlException (0x80131904): Falha de logon do usuário 'AUTORIDADE NT\IUSR'

    A connectionString que estou usando é "Data Source=SQLDAN;Initial Catalog=SISDAN;Integrated Security=true;Connect Timeout=0;context connection=false"

    Inicialmente achei que era um problema de acesso a base SISDAN, fiz várias tentativas, e coloquei meu usuário de windows na connectionString. Nada funcionou, quando mudava o usuário na connectionString o erro era o mesmo e só trocava o logon na referência da mensagem.

    O último teste que fiz foi colocar na connectionString uma base de dados que não existe, por exemplo SISXXX, para ver se haveria uma mudança no erro, não ocorreu, o erro continuou o mesmo, dando a entender que pelo IIS eu não estou conseguindo autorização no SQL master, e não apenas na base SISDAN.

    Já olhei vários artigos e erros nos fóruns, mas não consegui concluir com uma solução.

    Agradeço a atenção!

    quarta-feira, 28 de junho de 2017 14:50

Todas as Respostas

  • Danilo,

    Qual é a forma de autenticação da sua aplicação?

    Funciona no Visual Studio porque está utilizando a sua conta. No IIS está utilizando a conta IUSR do IIS que é de autenticação anônima.

    Existem algumas formas de resolver isso. Segue uma:

    https://stackoverflow.com/questions/10517764/asp-net-impersonates-nt-authority-iusr-but-impersonation-is-disabled-asp-net-bu


    Carlos Eduardo Ferreira


    quarta-feira, 28 de junho de 2017 14:57
  • Carlos Eduardo,

    Fiz os procedimentos informados no link, e mudou apenas o logon, agora o erro é para o logon:

    Falha de logon do usuário 'IIS APPPOOL\DefaultAppPool'.

    Danilo

    quarta-feira, 28 de junho de 2017 21:21
  • Danilo,

    Para funcionar do mesmo jeito que o Visual Studio, você vai precisar alterar a autenticação da sua aplicação no IIS. Habilitar Impersonate e Windows, e desabilitar o resto.

    Mas eu sugiro que você crie um usuário no banco e utilize essa conta para conectar. 


    Carlos Eduardo Ferreira

    quinta-feira, 29 de junho de 2017 10:57
  • Carlos, mais uma vez agradeço.

    Eu não quero que funcione igual ao Visual Studio, eu quero que funcione de acordo com o IIS, porém não consigo fazer isso, eu não consegui por exemplo colocar o usuário  AUTORIDADE NT\IUSR no banco de dados por exemplo. Este usuário não aparece para mim nas opções de administração do SQL SERVER.

    Mas o que mais me preocupou nesta história, foi que eu estava tentando fazer os acessos e as liberações na base de dados que o sistema usaria, no caso SISDAN. Depois de muito tentar, resolvi colocar uma base inexistente no connectionString, coloquei SISXXX que não existe, imaginando que o erro seria outro e não mais problema de logon. Não foi o que aconteceu, o que me levou a crer que o IIS não está conseguindo acesso ao Banco SQL como um todo.

    Se eu colocar um usuário qualquer no IIS para esta aplicação, estou entendendo que ele precisará de acesso a todo o Banco, e como o usuário e senha ficarão no IIS, eu vou expor um problema de segurança para as outras bases do Banco, o que me parece ruim. Eu acho, sinceramente, que está faltando algum parâmetro ou de instalação ou de configuração no IIS. Me lembro que antes do IIS 7, eu usava um usuário nas bases de dados chamado ASPNET e funcionava bem, e não precisava expor a segurança do banco deste jeito.

    Gostaria de saber se a minha percepção está correta, o IIS está sem acesso ao Banco ou apenas a minha base de dados? Por que não deu um erro diferente quando eu especifiquei uma base inexistente? Tem alguma orientação nos manuais da microsoft para este erro de logon SqlException (0x80131904): Falha de logon do usuário 'AUTORIDADE NT\IUSR'? Eu não estou conseguindo achar os manuais para verificar os erros, só consigo chegar em fóruns, onde este erro pode ser várias coisas.

    Abraços

    quinta-feira, 29 de junho de 2017 11:56