Ich habe ein kleines ASP.NET-Testskript, das eine Verbindung zu einer SQL Server-Datenbank auf einem anderen Computer in der Domäne herstellt. Es funktioniert nicht in allen Fällen.
Installieren:
IIS 7.5 unter W2K8R2 versucht, eine Verbindung zu einer Remote-SQL Server 2008 R2-Instanz herzustellen. Alle Maschinen befinden sich in derselben Domäne.
Bei Verwendung von ApplicationPoolIdentity für die Website kann keine Verbindung zum SQL Server hergestellt werden:
Anmeldung für Benutzer 'NT AUTHORITY \ ANONYMOUS LOGON' fehlgeschlagen. Beschreibung: Während der Ausführung der aktuellen Webanforderung ist eine nicht behandelte Ausnahme aufgetreten. Bitte überprüfen Sie die Stapelverfolgung, um weitere Informationen über den Fehler und dessen Ursprung im Code zu erhalten.
Ausnahmedetails: System.Data.SqlClient.SqlException: Anmeldung für Benutzer 'NT AUTHORITY \ ANONYMOUS LOGON' fehlgeschlagen.
Wenn ich jedoch die Prozessmodellidentität auf NETWORK SERVICE oder mein Domänenkonto umstelle, ist die Datenbankverbindung erfolgreich.
Ich habe den \ $ Zugriff in SQL Server gewährt.
Ich mache keine Authentifizierung auf der Website, es ist nur ein einfaches Skript, um eine Verbindung zu einer Datenbank herzustellen, um sicherzustellen, dass es funktioniert.
Ich habe die anonyme Authentifizierung aktiviert und die Verwendung der Anwendungspoolidentität festgelegt.
Wie mache ich das? Warum versucht die ApplicationPoolIdentity, ANONYMOUS LOGON zu verwenden? Besser noch, wie kann ich dafür sorgen, dass die anonyme Anmeldung nicht mehr verwendet wird?