Eu tenho um aplicativo Web hospedado no Windows Server 2008 de 64 bits com o IIS 7 e o SQL Server 2008. A conta do pool de aplicativos Web é o Serviço de Rede e adicionei essa conta aos logons do SQL Server 2008 e mapeei ao usuário no banco de dados com direitos dbowner.
Este site está no ASP.Net 2.0 e está usando a Autenticação de Formulários para proteger o acesso a alguns de seus recursos (não todos) para que Acesso Anônimo, Imersão = True e Autenticação de Formulários estejam Habilitados no IIS 7. O aplicativo Web está utilizando a Associação Controles do provedor.
Quando o site é iniciado; dentro do "Aplicativo inicia" ele tenta se conectar ao banco de dados e ler algumas configurações de inicialização. A cadeia de conexão para o banco de dados é salva no web.config. A seguir, a string de conexão.
Data Source=XXXXX; Initial Catalog=XXXXX; Integrated Security=SSPI; Trusted_Connection=True;
No entanto, quando o aplicativo é iniciado, ele não conseguiu se conectar ao banco de dados e eu encontrei as seguintes 3 entradas no log de eventos.
SSPI handshake failed with error code
0x8009030c while establishing a
connection with integrated security;
the connection has been closed.
[CLIENT: ]
Login failed. The login is from an
untrusted domain and cannot be used
with Windows authentication. [CLIENT:
]
Event code: 3005
Event message: An unhandled exception has occurred.
Event time: 4/26/2011 9:22:05 PM
Event time (UTC): 4/26/2011 6:22:05 PM
Event ID: 71a4b2cd8d40492ab89af3430cf42ea5
Event sequence: 2
Event occurrence: 1
Event detail code: 0
Application information:
Application domain: /LM/W3SVC/5/ROOT-1-129483157247676684
Trust level: Full
Application Virtual Path: /
Application Path: C:\LMS Projects\Deployment\Web Applications\Microsoft Dynamics CRM Customer LMS Portal\
Machine name: LMS
Process information:
Process ID: 3688
Process name: w3wp.exe
Account name: NT AUTHORITY\NETWORK SERVICE
Exception information:
Exception type: LoyaltyException
Exception message: Exception of type 'LMS.Helpers.LoyaltyException' was thrown.
Request information:
Request URL: http://localhost:6666/default.aspx
Request path: /default.aspx
User host address: ::1
User:
Is authenticated: False
Authentication Type:
Thread account name: NT AUTHORITY\NETWORK SERVICE
Thread information:
Thread ID: 4
Thread account name: NT AUTHORITY\NETWORK SERVICE
Is impersonating: False
Stack trace: at ASP.global_asax.Application_Start() in c:\LMS Projects\Deployment\Web Applications\Microsoft Dynamics CRM Customer LMS Portal\Global.asax:line 27
A exceção mostrada acima é uma exceção personalizada que eu executo depois de manipular a exceção de plataforma para não ser confundida com o erro no código. Este código está funcionando bem no ambiente Windows Server 2003 e IIS 6.0.