Konfigurieren einer ASP.NET-Anwendung für ein Delegierungsszenario

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 810572 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Dieser Artikel ist eine Übersetzung des folgenden englischsprachigen Artikels der Microsoft Knowledge Base:
810572 How to configure an ASP.NET application for a delegation scenario
Bitte beachten Sie: Bei diesem Artikel handelt es sich um eine Übersetzung aus dem Englischen. Es ist möglich, dass nachträgliche Änderungen bzw. Ergänzungen im englischen Originalartikel in dieser Übersetzung nicht berücksichtigt sind. Die in diesem Artikel enthaltenen Informationen basieren auf der/den englischsprachigen Produktversion(en). Die Richtigkeit dieser Informationen in Zusammenhang mit anderssprachigen Produktversionen wurde im Rahmen dieser Übersetzung nicht getestet. Microsoft stellt diese Informationen ohne Gewähr für Richtigkeit bzw. Funktionalität zur Verfügung und übernimmt auch keine Gewährleistung bezüglich der Vollständigkeit oder Richtigkeit der Übersetzung.
Alles erweitern | Alles schließen

Auf dieser Seite

Zusammenfassung

Dieser Artikel beschreibt die Vorgehensweise für die Konfiguration von IIS (Internet Information Services; Internet-Informationsdienste) und Active Directory für die Delegierung von ASP.NET-Anwendungen. Die Delegierung ist der Schritt, der auf den Identitätswechsel folgt. Die Delegierung unterstützt die Möglichkeit, für den Client auf Remoteressourcen anstatt nur auf lokale Ressourcen zuzugreifen. Dieser Artikel beschreibt die Schritte, die zur Delegierung einer mit ASP.NET verbundenen Anwendung erforderlich sind.


Voraussetzungen für die Delegierung

Die Delegierung ist für den Zugriff auf Ressourcen auf die integrierte Windows-Authentifizierung angewiesen. Es gibt keine Einschränkung bei der Anzahl der Computer, an die Sie Ihr Konto delegieren können. Sie müssen die einzelnen Computer jedoch entsprechend konfigurieren. Die integrierte Windows-Authentifizierungsmethode funktioniert nur dann, wenn die zwei folgenden Bedingungen gegeben sind:
  • Sie haben Ihr Netzwerk für die Verwendung des Kerberos-Authentifizierungsprotokolls eingerichtet, das Active Directory erfordert.
  • Sie richten die Computer und Konten in Ihrem Netzwerk als vertrauenswürdig für Delegierungszwecke ein.
Wenn diese Bedingungen nicht gegeben sind, können Sie die integrierte Windows-Authentifizierung nicht für den Zugriff auf Daten auf einer Remoteressource verwenden, da die integrierte Windows-Authentifizierung nur den Zugriff auf den IIS-Server zulässt, nicht auf die für die Windows-Authentifizierung zusätzlich konfigurierten Ressourcen, auf die der IIS-Server remote zugreift.

Die Kerberos-Authentifizierung authentifiziert den Server und den Client, während Windows NT-Herausforderung/Rückmeldung (NTLM) nur den Client authentifiziert. Betriebssysteme vor Windows 2000 unterstützen die Kerberos-Authentifizierung nicht. Kerberos setzt IIS 5.0 oder eine höhere Version voraus. Deshalb müssen Sie auf allen Computern, auf denen Sie die Kerberos-Delegierung verwenden, Windows 2000 oder ein neueres Betriebssystem installiert haben. Zusätzlich müssen Sie alle Computer in dieselbe Active-Directory-Gesamtstruktur stellen. Nur Microsoft Internet Explorer 5.0 und höhere Versionen unterstützen Kerberos. Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base:
217098 Allgemeiner Überblick zur Kerberos-Benutzerauthentifizierung in Windows 2000


Konfigurieren von Internet Explorer für eine Delegierung

Wenn Sie Internet Explorer 5.0 oder eine höhere Version verwenden, können Sie Internet Explorer für eine ASP.NET-IIS-Delegierung konfigurieren. Gehen Sie hierzu folgendermaßen vor:
  1. Starten Sie Internet Explorer. Klicken Sie in der Menüleiste auf Extras und dann auf Internetoptionen.
  2. Klicken Sie auf die Registerkarte Erweitert, und aktivieren Sie anschließend das Kontrollkästchen Integrierte Windows-Authentifizierung aktivieren (Neustart erforderlich).

    Diese Einstellung ermöglicht es Internet Explorer, auf eine Aushandlungsanforderung zu reagieren und die Kerberos-Authentifizierung durchzuführen. Da dieses Feature Windows 2000 oder eine höhere Version erfordert, reagiert Internet Explorer nicht auf eine Aushandlungsanforderung, wenn Internet Explorer nicht auf Windows 2000 oder einem höheren Betriebssystem ausgeführt wird. Standardmäßig verwendet Internet Explorer die NTLM-Authentifizierung, auch dann, wenn Sie das Kontrollkästchen Integrierte Windows-Authentifizierung aktivieren (Neustart erforderlich) aktivieren.Warnung: Durch die falsche Bearbeitung der Registrierung mithilfe des Registrierungs-Editors oder einer anderen Methode können schwerwiegende Probleme verursacht werden. Diese Probleme können eine Neuinstallation des Betriebssystems erforderlich machen. Microsoft kann nicht garantieren, dass Probleme, die von einer falschen Verwendung des Registrierungseditors herrühren, behoben werden können. Benutzen Sie den Registrierungseditor auf eigene Verantwortung.

  3. Hinweis: Auf Computern, auf denen Microsoft Windows 2000 und höhere Versionen ausgeführt werden, können Administratoren den Wert des Eintrags "EnableNegotiate : REG_DWORD" im folgenden Registrierungsschlüssel auf 1 setzen, um die integrierte Windows-Authentifizierung zu aktivieren:
    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings
    .
  4. Es gibt einige Fälle, in denen Kerberos auf dem Internet Explorer-Client eventuell fehlschlägt. Weitere Informationen zur Kerberos-Authentifizierung finden Sie in folgenden Artikeln der Microsoft Knowledge Base:
    321728 Internet Explorer unterstützt nicht Kerb-Eros-Authentifizierung bei Proxyserver
    325608 Authentifizierungsdelegierung durch Kerberos funktioniert nicht in Architekturen mit Lastenausgleich
    248350 Kerbauthentifizierung schlägt nach dem Update von IIS 4.0 zu IIS 5.0 fehl
    264921 Wie authentifiziert II Browser-Client

Konfigurieren von IIS für die Delegierung

Sie müssen die Internet-Informationsdienste (IIS) konfigurieren, um die integrierte Windows-Authentifizierung und den Identitätswechsel für eine mit ASP.NET verbundene Anwendung zu aktivieren. Gehen Sie folgendermaßen vor, um IIS für die Windows-Authentifizierung zu konfigurieren:
  1. Klicken Sie auf Start und anschließend auf Ausführen. Im Feld Öffnen geben Sie inetmgr ein. Klicken Sie anschließend auf OK.
  2. Erweitern Sie Lokaler Computer und dann Website.
  3. Klicken Sie mit der rechten Maustaste auf Standardwebsite und anschließend auf Eigenschaften.
  4. Klicken Sie auf die Registerkarte Verzeichnissicherheit. Klicken Sie dann unter Steuerung des anonymen Zugriffs und der Authentifizierung auf Bearbeiten.
  5. Aktivieren Sie das Kontrollkästchen Integrierte Windows-Authentifizierung, und deaktivieren Sie die Kontrollkästchen Anonymer Zugriff, Digestauthentifizierung für Windows-Domänenserver und Standardauthentifizierung.

    Hinweis: Wenn die anonyme Authentifizierung aktiviert ist, versucht IIS, zuerst die anonyme Authentifizierung zu verwenden, selbst wenn andere Methoden aktiviert sind.

    Wenn die anonyme Authentifizierung, die integrierte Windows-Authentifizierung und die Standardauthentifizierung aktiviert sind, erhält die integrierte Windows-Authentifizierung Vorrang gegenüber der Standardauthentifizierung und der anonymen Authentifizierung.

Konfigurieren von ASP.NET für die Delegierung

  1. Öffnen Sie die Datei "Web.config" in einem Texteditor wie z. B. Editor. Die Datei "Web.config" befindet sich im Ordner "Web Application".
  2. Suchen Sie in der Datei "Web.config" folgende Informationen im Abschnitt <configuration>:
  3. Überprüfen Sie im Abschnitt <System.web>, ob das Authentifizierungselement auf Windows gesetzt ist:
  4. Fügen Sie im Abschnitt <System.web> das folgende Element für den Identitätswechsel hinzu:
  5. Weitere Informationen finden Sie in den folgenden Artikeln der Microsoft Knowledge Base:
    306158 Implementieren des Identitätswechsels in einer ASP.NET-Anwendung
    317012 Prozess- und Anforderungsidentität in ASP.NET
    315736 Wie Schützen einer ASP.NET-Anwendung, indem Windows-Sicherheit verwendet

Konfigurieren von Active Directory für die Delegierung

Die Delegierung muss auf allen Computern mit Delegierungsinformationen aktiviert sein. Sie kann in den Active Directory-Tools konfiguriert werden.

Weitere Informationen finden Sie auf folgenden Websites von Microsoft:
Konfigurieren eines Computers als vertrauenswürdig für die Delegierung
http://technet2.microsoft.com/windowsserver/en/library/b207ee9c-a055-43f7-b9be-20599b694a311033.mspx
Benutzer- und Computerkonten
http://technet2.microsoft.com/windowsserver/en/library/91a98c38-38c5-49dc-83bf-e69d8e1dbbfa1033.mspx
Der Hauptprozess von IIS, "InetInfo.exe", ist ein Dienst, der unter dem Konto "LocalSystem" ausgeführt wird. Im Rahmen dieses Prozesses wird Folgendes ausgeführt:
  • Übernahme der Client-Anforderung
  • Übernahme der Identität des Benutzers
  • Ausführung der entsprechenden Aufgaben
  • Wiederherstellung der Prozessidentität, und zwar LocalSystem
Wenn Sie "InetInfo.exe" unter einem anderen Konto als "LocalSystem" ausführen, müssen Sie sicherstellen, dass das Konto über die entsprechenden Rechte verfügt, um als Delegat zu fungieren. Konfigurieren Sie in diesem Fall den Computer nicht für die Delegierung.

Problembehandlung

  1. Wenn der Name des Webservers, den Sie im URL zum Aufruf der ASP.NET-Seite verwenden, nicht dem NetBIOS-Namen des IIS-Computers entspricht, kann die integrierte Authentifizierung mit Fehler 401.3 fehl schlagen. Registrieren Sie mit dem Programm "SetSPN.exe" einen neuen Dienstprinzipalnamen (SPN = Service Principal Name), um dieses Problem zu beheben. Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base:
    294382 Wenn sich das "Host Header" der Website von dem NetBIOS-Name des Servers unterscheidet, kann Authentifizierung mit "401.3" Fehler fehlschlagen
  2. Kerberos funktioniert nicht in einer Architektur mit Lastenausgleich, und IIS greift auf die NTLM-Authentifizierung zurück. Da Sie NTLM nicht für die Delegierung verwenden können, funktionieren Anwendungen oder Dienste nicht, die die Delegierung benötigen. Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base:
    325608 Authentifizierungsdelegierung durch Kerberos funktioniert nicht in Architekturen mit Lastenausgleich
  3. Damit Kerberos richtig funktioniert, müssen Sie für die gesamte Kommunikation voll qualifizierte Domänennamen (FQDN) verwenden.
  4. Wenn Sie Internet Explorer auf einem Windows 2000-Client verwenden und dann eine Website finden, deren Host-Headername vom NetBIOS-Namen des Computers abweicht, kann die integrierte Authentifizierung mit Fehler 401.3 fehl schlagen. Bei Internet Explorer-Clients, die mit Windows NT 4, Windows 98 oder Windows 95 arbeiten, schlägt die Funktion hingegen nicht fehl. Auch andere Authentifizierungsschemata funktionieren.
  5. Wenn der Webserver einen voll qualifizierten Domänennamen verwendet, müssen Sie die Site im Internet Explorer zur Liste der Intranet-Sites hinzufügen. Gehen Sie folgendermaßen vor, um zu überprüfen, ob der Webserver einen voll qualifizierten Domänennamen verwendet:
    1. Starten Sie Internet Explorer.
    2. Klicken Sie im Menü Extras auf Internetoptionen und anschließend auf die Registerkarte Sicherheit.
    3. Aktivieren Sie die Option Lokales Intranet. Klicken Sie auf Sites.
    4. Klicken Sie auf Erweitert, und geben Sie die Webadresse im Feld Diese Website zur Zone hinzufügen ein. Klicken Sie auf Hinzufügen und dann auf OK.
  6. Wenn der Internet Explorer-Client für die Verwendung eines Proxyservers konfiguriert ist, müssen Sie das Kontrollkästchen Proxyserver für lokale Adressen umgehen aktivieren. Gehen Sie folgendermaßen vor, um zu überprüfen, ob der Internet Explorer-Client für die Verwendung eines Proxyservers konfiguriert ist:
    1. Starten Sie Internet Explorer.
    2. Klicken Sie im Menü Extras auf Internetoptionen, und klicken Sie anschließend auf die Registerkarte Verbindungen.
    3. Klicken Sie unter LAN-Einstellungen auf Einstellungen. Überprüfen Sie unter Proxyserver, ob das Kontrollkästchen Proxyserver für lokale Adressen umgehen aktiviert ist.
  7. Wenn Sie von Ihrer mit ASP.NET verbundenen Anwendung auf einen SQL-Server zugreifen möchten, müssen Sie TCP/IP verwenden. Named Pipes unterstützen die Kerberos-Delegierung nicht. Named Pipes verwenden nur NTLM. Fügen Sie hierzu die folgenden Attribute zur Verbindungszeichenfolge hinzu:
    "Network Library =dbmssocn"
    Wenn Sie die Netzwerkbibliothek nicht explizit vorgeben, verwendet NTLM die erste im Clientkonfigurationsprogramm ("Cliconfg.exe") eingerichtete Bibliothek. Dieser Standard hat sich von Named Pipes auf TCP/IP in Microsoft Data Access Components (MDAC) 2.6 geändert. Weitere Informationen finden Sie in den folgenden Artikeln der Microsoft Knowledge Base:
    315159 BUG: Named Pipes funktionieren nicht, wenn unter ASPNET-Konto Worker-Prozess ausgeführt wird
    176377 INFO: das Zugreifen auf SQL Server mit integrierter Sicherheit von ASP
    176379 Wie Einrichten von II und SQL Server auf eigenen Computern mit einer vertrauten Verbindung
    247931 Authentifizierungsmethoden für SQL Server-Verbindungen in Active Server Pages

Informationsquellen

Weitere Informationen zur Entwicklung sicherer webbasierter Anwendungen und Delegierungsszenarien finden Sie auf folgender Microsoft Developer Network-(MSDN-)Website:
http://msdn2.microsoft.com/en-us/library/aa302415.aspx
Weitere Informationen zur Entwicklung sicherer webbasierter Anwendungen finden Sie in folgender Publikation:
Designing Secure Web-Based Applications
Microsoft Press
Michael Howard, Marc Levy und Richard Waymire
ISBN 0-7356-0995-0

Eigenschaften

Artikel-ID: 810572 - Geändert am: Montag, 3. Dezember 2007 - Version: 8.4
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
  • Microsoft Internet Information Services 5.0
  • Microsoft Internet Information Services 6.0
Keywords: 
kbauthentication kbwebforms kbdomain kbclient kbconfig kbwebserver kbhowtomaster kbhowto KB810572
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com