Gewusst wie: Zugreifen auf SQL Server mit einem zugeordneten Windows-Domänenbenutzer

Aktualisiert: November 2007

Standardmäßig werden ASP.NET-Anwendungen in Microsoft Windows 2000 und Microsoft Windows XP im Kontext des lokalen Benutzerkontos mit dem Namen ASPNET und in Windows Server 2003 im Kontext des lokalen Benutzerkontos mit dem Namen NETZWERKDIENST ausgeführt. Diese Benutzerkonten verfügen nur über eingeschränkte Zugriffsrechte. Das ASPNET-Konto ist jedoch auf dem Webserver lokal. Daher wird es nicht als Benutzer auf Remotecomputern erkannt. Um diese Einschränkung zu umgehen, können Sie eine Anwendung unter dem Namen eines Windows-Domänenbenutzers ausführen, der sowohl auf dem Webservercomputer als auch auf dem Computer, auf dem Microsoft SQL Server ausgeführt wird, erkannt wird.

Bevor Sie den Anwendungsprozess einem anderen Windows-Domänenbenutzerkonto zuordnen, muss Folgendes konfiguriert werden:

  • Der Webserver.

    Sie müssen sicherstellen, dass das angegebene Windows-Domänenbenutzerkonto über genügend, nicht aber über weiter reichende Benutzerberechtigungen zum Ausführen von Webanwendungen verfügt.

  • Die Anwendung.

    Sie müssen die Web.config-Datei so konfigurieren, dass ASP.NET den Domänenbenutzerkontonamen erkennt.

    Hinweis:

    Informationen über die Dateien Machine.config und Web.config finden Sie unter Übersicht über die ASP.NET-Konfiguration.

  • Eine Verbindungszeichenfolge.

    Wenn Sie Verbindungszeichenfolgen für Verbindungsobjekte in der Anwendung erstellen, müssen Sie angeben, dass die Verbindungszeichenfolgen die in Windows integrierte Sicherheit verwenden.

  • SQL Server.

    Sie müssen das angegebene Domänenbenutzerkonto als angemeldeter SQL Server-Benutzer hinzufügen.

Konfigurieren eines Benutzerkontos auf dem Webserver

So legen Sie Berechtigungen für das Windows-Domänenbenutzerkonto fest

  1. Verwenden Sie auf dem Webserver Windows-Verwaltungstools, damit das zugeordnete Windows-Domänenbenutzerkonto über die erforderlichen Benutzerrechte verfügt.

    Ausführliche Informationen finden Sie unter Erforderliche Zugriffssteuerungslisten für ASP.NET.

  2. Führen Sie aspnet_regiis.exe mit dem -ga-Schalter aus, um die gängigen Benutzerrechte zu gewähren, die für die Identität erforderlich sind, die Sie für den Anwendungsidentätswechsel verwenden.

Zuordnen zum Windows-Benutzerkonto und Aktivieren des Identitätswechsels

Konfigurieren Sie nach dem Erstellen der richtigen Benutzerrechte für das Domänenbenutzerkonto den Anwendungsidentitätswechsel.

Sicherheitshinweis:

Wenn Sie Benutzeranmeldeinformationen in die Datei Web.config einfügen, stellt dies ein potenzielles Sicherheitsrisiko dar. Benutzer mit Zugriffsrechten auf das Verzeichnis mit der Datei Web.config können die Datei lesen und die Anmeldeinformationen einsehen. Einzelheiten zum Schutz vor diesem Sicherheitsrisiko finden Sie unter Verschlüsseln von Konfigurationsinformationen mithilfe der geschützten Konfiguration.

So konfigurieren Sie die Webanwendung für Identitätswechsel

  • Öffnen Sie die Datei Web.config für die Anwendung, und fügen Sie dann den folgenden Identitätswechselcode hinzu:

    <identity impersonate="true" userName="domain\username" password="********"/>
    

    Ersetzen Sie den im vorherigen Beispiel aufgeführten Wert durch das richtige Kennwort.

    Hinweis:

    Bei Elementen in der Datei Web.config wird die Groß- /Kleinschreibung beachtet.

Verwenden der Windows-Sicherheit in der Verbindungszeichenfolge

Um die Erstellung von Verbindungszeichenfolgen für den Datenbankzugriff abzuschließen, konfigurieren Sie die Verbindungszeichenfolgen für die Verwendung der integrierten Windows-Sicherheit.

So verwenden Sie die integrierte Windows-Sicherheit in einer Verbindungszeichenfolge

  • Beim Erstellen einer Verbindungszeichenfolge für Ihre Anwendung fügen Sie dieser keinen Benutzernamen und kein Kennwort hinzu. Legen Sie stattdessen für die Verbindungszeichenfolge das Integrated Security-Attribut auf SSPI fest.

    Im folgenden Codebeispiel ist eine Verbindungszeichenfolge mit den entsprechenden Attributen dargestellt:

    data source=myserver;initial catalog=northwind;Integrated Security=SSPI
    

So konfigurieren Sie SQL Server für die integrierte Sicherheit

  1. Klicken Sie in Windows auf Start, zeigen Sie auf Microsoft SQL Server, und klicken Sie dann auf Enterprise Manager.

  2. Öffnen Sie den Serverknoten, und erweitern Sie den Knoten der Datenbank, für die Sie Benutzerrechte gewähren möchten.

  3. Klicken Sie mit der rechten Maustaste auf Benutzer, und klicken Sie dann auf Neuer Datenbankbenutzer.

  4. Geben Sie im Dialogfeld Eigenschaften für den Datenbankbenutzer im Feld Benutzername die Zeichenfolge Domäne\Benutzername ein, und klicken Sie dann auf OK.

Siehe auch

Konzepte

Identitätswechsel in ASP.NET