Windows-Authentifizierungsanbieter
Aktualisiert: November 2007
Die Windows-Authentifizierung behandelt die von den Microsoft Internetinformationsdiensten (IIS) bereitgestellte Benutzeridentität als authentifizierten Benutzer in einer ASP.NET-Anwendung. IIS stellt mehrere Authentifizierungsmechanismen zum Überprüfen der Benutzeridentität bereit, einschließlich der anonymen Authentifizierung, der integrierten Windows-Authentifizierung (NTLM), der integrierten Windows-Authentifizierung (Kerberos), der Basis-Authentifizierung (base64-codiert), der Digest-Authentifizierung und der auf Clientzertifikaten basierenden Authentifizierung.
Die Windows-Authentifizierung in ASP.NET wird mithilfe des WindowsAuthenticationModule-Moduls implementiert. Das Modul erstellt auf der Grundlage der von IIS bereitgestellten Anmeldeinformationen eine WindowsIdentity und legt die Identität als aktuellen User-Eigenschaftenwert der Anwendung fest.
Die Windows-Authentifizierung ist der Standardauthentifizierungsmechanismus für ASP.NET-Anwendungen und wird als Authentifizierungsmodus für eine Anwendung mithilfe des authentication-Konfigurationselements identifiziert. Dies wird im folgenden Codebeispiel veranschaulicht.
<system.web>
<authentication mode="Windows"/>
</system.web>
Imitieren der Windows-Identität
Obwohl der Windows-Authentifizierungsmodus den Wert der aktuellen User-Eigenschaft auf der Grundlage der von IIS bereitgestellten Anmeldeinformationen auf eine WindowsIdentity festlegt, wird die für das Betriebssystem bereitgestellte Windows-Identität nicht geändert. Die für das Betriebssystem bereitgestellte Windows-Identität wird zur Berechtigungsüberprüfung verwendet, z. B. für NTFS-Dateiberechtigungen, oder zum Verbinden mit einer Datenbank mithilfe der integrierten Sicherheit. Diese Windows-Identität entspricht standardmäßig der Identität des ASP.NET-Prozesses. Unter Microsoft Windows 2000 und Windows XP Professional entspricht diese der Identität des ASP.NET-Workerprozesses, der dem lokalen ASP.NET-Konto entspricht. Unter Windows Server 2003 entspricht diese der Identität des IIS-Anwendungspools, zu dem die ASP.NET-Anwendung gehört. Dies entspricht standardmäßig dem Konto NETWORK SERVICE.
Sie können durch Aktivieren des Identitätswechsels die Windows-Identität der ASP.NET-Anwendung in der Konfiguration als die von IIS bereitgestellte Windows-Identität festlegen. Dabei weisen Sie die ASP.NET-Anwendung an, die von IIS bereitgestellte Identität für alle Aufgaben zu imitieren, die das Windows-Betriebssystem authentifiziert, einschließlich des Datei- und Netzwerkzugriffs.
Um den Identitätswechsel für die Webanwendung festzulegen, legen Sie in der Datei Web.config der Anwendung das impersonate-Attribut des Identität-Elements auf true fest. Dies wird im folgenden Codebeispiel veranschaulicht.
<system.web>
<authentication mode="Windows"/>
<identity impersonate="true"/>
</system.web>
Weitere Informationen zur ASP.NET-Prozessidentität finden Sie unter Konfigurieren der Prozessidentität in ASP.NET. Weitere Informationen zum Identitätswechsel finden Sie unter der Impersonate-Methode.
Aktivieren der Autorisierung mithilfe von NTFS-ACLs
Sie können die Sicherheit der ASP.NET-Anwendung erhöhen, indem Sie die Dateien der Anwendung mithilfe des NTFS-Dateisystems und Access Control Lists (ACL – Zugriffssteuerungsliste) sichern. Mit ACLs können Sie angeben, welche Benutzer und Gruppen von Benutzern über Zugriff auf die Dateien der Anwendung verfügen. Eine Liste der erforderlichen NTFS-Dateiberechtigungen für das Ausführen einer Windows-Identität als Identität einer ASP.NET-Seite finden Sie unter Erforderliche Zugriffssteuerungslisten für ASP.NET.
Hinweis: |
---|
Mithilfe von ASP.NET-Rollen kann die Benutzerautorisierung für Seiten und Abschnitte der Webanwendung verwaltet werden. Weitere Informationen finden Sie unter Verwalten der Autorisierung mithilfe von Rollen. |
Siehe auch
Aufgaben
Gewusst wie: Erstellen eines WindowsPrincipal-Objekts
Gewusst wie: Erstellen von GenericPrincipal-Objekten und GenericIdentity-Objekten