SQL-Server und windows-Authentifizierung in IIS 7
Ich versuche zu bekommen eine ASP.NET website läuft auf Vista (IIS 7), die mit SQL Server und Windows Authentifizierung. Egal was ich mache, wenn ich eine Verbindung zu der Datenbank, bekomme ich die exception:
SqlException wurde nicht behandelte Login fehlgeschlagen für Benutzer " MyDomain\MachineName$'.
Es scheint nicht egal, welche Einstellungen ich übernehmen, ich Schaffe es nicht, IIS7 passieren, meine Windows-Anmeldedaten ein.
Zusätzliche details:
- SQL Server und meinem lokalen Rechner auf ActiveDirectory
- Vista Enterprise, IIS7
- SQL Server 2005
- Die anonyme Authentifizierung deaktiviert ist, Windows-Authentifizierung aktiviert ist
- Identitätswechsel on/off macht keinen Unterschied
- Alle Identitäten (Netzwerkdienst, lokales System, etc) das gleiche Ergebnis
- Klassische und integrierte Rohrleitungen das gleiche Ergebnis
Hilfe!
- Ist ISS und SQL Server auf unterschiedlichen Servern oder auf den gleichen server?
- Ja, Sie sind auf unterschiedlichen Servern.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Identitätswechsel on/off macht den Unterschied, wenn Sie richtig konfiguriert ist. Was Sie wollen, ist caled 'constrained delegation" und Sie müssen zum konfigurieren von IIS und ASP für Sie:
Standardmäßig wird der IIS-server ist nicht erlaubt
impersonate
Sie auf den SQL-Server. Es gibt eine MSDN-Artikel auf, wie es zu konfigurieren. Die Konfiguration ist Komplex und fehleranfällig.Wenn Ihre Produktion ISS und SQL-Server laufen auf verschiedenen Servern, Sie benötigen einen domain-admin konfigurieren Sie die Identitätswechsel Vertrauen zwischen den beiden Servern. Dies ist normalerweise ein no-go in einer großen Organisation.
Zusätzlich zu den nicht eingesetzt, die von normalen admins, Identitätswechsel auch verhindert, dass Benutzer teilen Ihre verbindungen in die SQL-connection-pool. Dies führt zu einer sehr deutlichen performance-Einbußen auch für kleine (5+ user) Webseiten.
Haben Sie versuchen, erstellen Sie ein neues Benutzerkonto für Ihre Anwendung, vergeben Sie die entsprechenden Rechte auf dem Sql-Server, und legen Sie dann den Anwendungspool ausgeführt unter diesem neuen Konto?
Dies ist, was ich normalerweise tun, und es funktioniert. Ich bin mir nicht läuft meine Anwendung unter Netzwerkdienst, lokales System oder andere vordefinierte Konten.
Macht Ihre Verbindungszeichenfolge enthalten
Integrated Security=SSPI
?Haben Sie gewechselt asp.net Rahmen für ein Domänen-Benutzer?
Hier ist ein MSDN-Artikel zu diesem Thema
http://msdn.microsoft.com/en-us/library/2xzyzb0f.aspx
IUSR_ComputerName