...

...

Ich habe 2 Windows 2008-Server. Einer ist ein Webserver (IIS7). Der andere ist ein Datenbankserver (SQL Server 2008). Die Instanz von SQL Server 2008 ist für die Verwendung der Authentifizierung im gemischten Modus konfiguriert. Keiner der beiden ist einer Active Directory-Domäne beigetreten.

Wie sollen sich ASP.NET-Anwendungen auf dem Webserver bei den Datenbanken auf dem Datenbankserver anmelden? Ich habe es mit dem SA-Konto getestet, aber das muss ich offensichtlich ändern.

Ich bin mir nicht sicher, was ich verwenden soll: ein SQL Server-Konto, auf jedem Computer konfigurierte Windows-Konten oder „Anwendungsrollen“, von denen ich nicht wirklich viel verstehe.

Das Konto muss lediglich Daten lesen und schreiben sowie gespeicherte Prozeduren ausführen können. Was muss ich tun und wie richte ich es ein?

...

Anstatt nur eine kurze Antwort zu geben, geben Sie mir bitte Anweisungen, wie ich das einrichten kann. Danke.

Antwort1

Die sicherere Methode verwendet die Windows-Authentifizierung. Auf diese Weise können Sie Ihre Anwendung schreiben, ohne dass in den Verbindungszeichenfolgen oder der Konfigurationsdatei ein Kennwort enthalten ist.

Auf jedem System erstellen Sie ein Benutzerkonto. Dies sollte kein Administratorkonto sein, sondern nur ein normales Benutzerkonto. Erstellen Sie auf beiden Systemen den Benutzer mit demselben Namen und Passwort.

Bearbeiten Sie nun auf Ihrem IIS-System die Anwendungspooleinstellungen. Ändern Sie die Identität so, dass sie als das gerade erstellte Benutzerkonto ausgeführt wird. An dieser Stelle müssen Sie das Kennwort für den Benutzer eingeben.

Erstellen Sie auf dem SQL-Server ein Anmeldekonto, das mit dem von Ihnen erstellten Windows-Benutzerkonto verknüpft ist. Sie können die normalen SQL Server-Berechtigungen verwenden, um die Aktionen zu gewähren/zu verweigern, die Ihre Anwendung erfordert.

Stellen Sie nun in Ihrer Anwendung mithilfe der integrierten Sicherheit eine Verbindung zum SQL-Server her. Beim Herstellen der SQL-Verbindung wird der App-Pool-Benutzer verwendet.

Kein Passwort in Ihrer Konfiguration oder App und eine sichere Datenbankverbindung!

Antwort2

Die am häufigsten verwendete Methode ist eine SQL-Anmeldung. Erstellen Sie eine SQL-Anmeldung mit einem sicheren Kennwort. Fügen Sie sie als Benutzer zur Datenbank hinzu, die Ihre Anwendung verwenden wird. Erstellen Sie eine Datenbankrolle in der Datenbank und machen Sie Ihren Benutzer zu einem Mitglied dieser Rolle. Gewähren Sie der Datenbankrolle Zugriff auf die Objekte, auf die sie Zugriff benötigt.

Sie möchten der Rolle nur die Rechte erteilen, die sie benötigt.

Der Grund für die Datenbankrolle besteht darin, dass Sie die Datenbank auf einem anderen Server wiederherstellen und einem anderen Benutzer problemlos die genauen Rechte erteilen können, um sicherzustellen, dass alles ordnungsgemäß funktioniert.

verwandte Informationen