Ich habe eine klassische ASP-Anwendung, die versucht, eine Verbindung mit einer SQL Server 2008-Datenbank auf einem anderen Server herzustellen. Die ASP-App wird von IIS7 unter Windows Server 2008 bereitgestellt.
Ich habe den Anwendungspool der Website so geändert, dass er unter einem bestimmten Windows-Konto ausgeführt wird. Das , das ich überprüft habe, hat Zugriff auf die Datenbank auf dem fernen Server.
Wenn ich die App jedoch im Browser starte, erhalte ich folgende Fehlermeldung:
%Vor%Warum versucht es eine Verbindung mit NT AUTHORITY \ ANONYMOUS LOGON herzustellen? Gilt die App-Pool-Identität nicht für klassischen ASP-Code? Wie kann ich diese Verbindung als einen bestimmten Benutzer herstellen?
Hier ist die Verbindungszeichenfolge, die ich verwende:
Provider = SQLOLEDB.1; Datenquelle = myDbServer; Initial Catalog = myDatabase; Integrierte Sicherheit = SSPI
Damit eine Site die Anwendungspoolidentität für klassisches ASP verwendet, müssen Sie die für die anonyme Authentifizierung verwendeten Anmeldeinformationen ändern. Standardmäßig ist die Site so eingestellt, dass sie einen bestimmten Benutzer verwendet, nämlich IUSR.
Wählen Sie im IIS-Bereich Ihrer Website Authentifizierung aus und wählen Sie dann Anonyme Authentifizierung gefolgt von Bearbeiten aus. Wechseln Sie von Spezifischer Benutzer zu Identität des Anwendungspools .
Es empfiehlt sich, die Windows-Authentifizierung (integrierte Sicherheit) über die SQL-Authentifizierung zu verwenden, damit Ihre Konfigurationsdateien keine Anmeldeinformationen enthalten. Wenn diese Dateien kompromittiert werden, verlieren Sie nicht die Kontrolle über die Anmeldeinformationen.
Imitiert die App den Anrufer? Sie müssen die eingeschränkte Delegierung aktivieren: Konfigurieren von Servern für die Delegierung .
>Sie sollten einen Benutzernamen und ein Passwort für die Verbindungszeichenfolge www.connectionstrings.com angeben oder die IIS-Anwendung als spezifisch festlegen Benutzer jedoch würde dann viele der Sicherheitseinstellungen in IIS veraltet machen.
%Vor%Und werfen Sie einen Blick hier: aspfaq
Stellen Sie abschließend sicher, dass der anonyme Zugriff auf der IIS-Site deaktiviert ist, sodass er tatsächlich die Identität des ausgewählten Benutzers annimmt, anstatt die anonymen Token weiterzuleiten.
Tags und Links sql-server web-applications database-connection iis-7 asp-classic