erro “NT AUTHORITY \ ANONYMOUS LOGON” no Windows 7 (ASP.NET e Web Service)

1

Eu tenho um aplicativo web asp.net que funciona bem em máquinas com Windows XP em um domínio. Estou portando para uma máquina autônoma do Windows 7. O aplicativo usa um serviço da web que faz uma chamada para o sql server. O servidor da Web (IIS 7.5) e o SQL Server estão na mesma máquina independente.

Eu habilitei a autenticação do Windows para o site e o serviço da web. O serviço da Web usa uma string de conexão de conexão confiável. As credenciais de serviço da Web usam System.Net.CredentialCache.DefaultCredentials. Eu notei que nome de usuário, senha e nome de domínio estão em branco após a chamada! O webservice e o site da web usam o 'AppPool .NET clássico' com a identidade NetworkServices.

Estou recebendo uma exceção "NT AUTHORITY \ ANONYMOUS LOGON" na chamada do banco de dados no serviço da web. Estou assumindo que está relacionado às credenciais em branco.

Espero que o usuário ASPNET seja o token de segurança para o banco de dados. Por que isso não está acontecendo? Eu senti falta de um cenário? (Geralmente isso acontece quando o servidor sql e o servidor web estão em duas máquinas diferentes em um domínio, delegação e double hopping, mas no meu caso tudo está em uma caixa dev)

    
por Tony_Henrich 10.06.2010 / 09:47

1 resposta

2

O usuário "ASPNET" foi visto pela última vez no Windows XP, ele não existe no Vista ou no Windows 7 porque o IIS hospeda o ASP.NET diretamente e apenas usa o Serviço de Rede como a identidade do pool.

Verifique também suas configurações de representação. Para simplificar, verifique se a configuração "Autenticação Anônima" no IIS está vinculada à identidade do Pool de Aplicativos e se as Configurações Básicas do Site também estão definidas como "Conectar como ..." à identidade do pool.

Por fim, adicione uma entrada de Login do SQL Server para o Serviço de Rede (ou qualquer que seja a identidade em que o pool esteja sendo executado).

    
por 16.09.2010 / 03:33