Anonyme Authentifizierung <anonymousAuthentication>
Übersicht
Das <anonymousAuthentication>
-Element steuert, wie Internetinformationsdienste (IIS) 7 Anforderungen von anonymen Benutzern verarbeitet. Sie können das <anonymousAuthentication>
-Element ändern, um die anonyme Authentifizierung zu deaktivieren, oder Sie können Internetinformationsdienste (IIS) so konfigurieren, dass ein benutzerdefiniertes Benutzerkonto zum Verarbeiten anonymer Anforderungen verwendet wird.
Die anonyme Authentifizierung ermöglicht Benutzern den Zugriff auf öffentliche Bereiche der Web- oder FTP-Site, ohne sie nach einem Benutzernamen oder einem Kennwort zu fragen. Standardmäßig wird das in IIS 7.0 eingeführte IUSR-Konto verwendet und das IIS 6.0-IUSR_computername-Konto ersetzt, um anonymen Zugriff zu ermöglichen. Eine Anwendung ist eine Gruppierung von Dateien, die Inhalte liefert oder Dienste über Protokolle bereitstellt, z. B. HTTP. Wenn Sie eine Anwendung in IIS erstellen, wird der Pfad der Anwendung Teil der Site-URL.
Standardmäßig verwendet IIS 7 die anonyme Authentifizierung. Sie müssen die anonyme Authentifizierung für alle Websites, Webanwendungen oder Webdienste deaktivieren, für die Sie andere Authentifizierungsmethoden wie die Standard- oder Windows-Authentifizierung aktivieren möchten.
Kompatibilität
Version | Hinweise |
---|---|
IIS 10.0 | Das <anonymousAuthentication> -Element wurde in IIS 10.0 nicht geändert. |
IIS 8.5 | Das <anonymousAuthentication> -Element wurde in IIS 8.5 nicht geändert. |
IIS 8.0 | Das <anonymousAuthentication> -Element wurde in IIS 8.0 nicht geändert. |
IIS 7.5 | Das <anonymousAuthentication> -Element wurde in IIS 7.5 nicht geändert. |
IIS 7.0 | Das <anonymousAuthentication> -Element wurde in IIS 7.0 eingeführt. |
IIS 6.0 | Das <anonymousAuthentication> -Element ersetzt die IIS 6.0 AuthFlags-, AnonymousUserName- und AnonymousUserPassword-Metabasiseigenschaften. |
Setup
Das <anonymousAuthentication>
-Element ist in der Standardinstallation von IIS 7 enthalten.
Gewusst wie
Anonyme Authentifizierung deaktivieren
Öffnen Sie den Internet Information Services (IIS) Manager:
Wenn Sie Windows Server 2012 oder Windows Server 2012 R2 verwenden:
- Klicken Sie in der Taskleiste auf Server-Manager, dann auf Tools und dann auf den Internet Information Services (IIS) Manager.
Wenn Sie Windows 8 oder Windows 8.1 verwenden:
- Halten Sie die Windows-Taste gedrückt, drücken Sie den Buchstaben X, und klicken Sie dann auf "Systemsteuerung".
- Klicken Sie auf Verwaltungund doppelklicken Sie dann auf den Internet Information Services (IIS) Manager.
Wenn Sie Windows Server 2008 oder Windows Server 2008 R2 verwenden:
- Klicken Sie auf der Taskleiste auf Start, zeigen Sie auf Verwaltung und dann auf den Internet Information Services (IIS) Manager.
Wenn Sie Windows Vista oder Windows 7 verwenden:
- Klicken Sie auf der Taskleiste auf Start und dann auf Systemsteuerung.
- Doppelklicken Sie auf Verwaltungund doppelklicken Sie dann auf den Internet Information Services (IIS) Manager.
Erweitern Sie im Bereich Verbindungen den Servernamen, erweitern Sie Sites, wechseln Sie zu der Ebene im Hierarchiebereich, die Sie konfigurieren möchten, und klicken Sie dann auf die Website oder Webanwendung.
Scrollen Sie zum Abschnitt Sicherheit im Bereich Start, und doppelklicken Sie dann auf Authentifizierung.
Wählen Sie im Bereich Authentifizierung die Option Anonyme Authentifizierung, und klicken Sie dann auf Deaktivieren im Bereich Aktionen.
So ändern Sie anonyme Authentifizierungsanmeldeinformationen aus dem IUSR-Konto
Öffnen Sie den Internet Information Services (IIS) Manager:
Wenn Sie Windows Server 2012 oder Windows Server 2012 R2 verwenden:
- Klicken Sie in der Taskleiste auf Server-Manager, dann auf Tools und dann auf den Internet Information Services (IIS) Manager.
Wenn Sie Windows 8 oder Windows 8.1 verwenden:
- Halten Sie die Windows-Taste gedrückt, drücken Sie den Buchstaben X, und klicken Sie dann auf "Systemsteuerung".
- Klicken Sie auf Verwaltungund doppelklicken Sie dann auf den Internet Information Services (IIS) Manager.
Wenn Sie Windows Server 2008 oder Windows Server 2008 R2 verwenden:
- Klicken Sie auf der Taskleiste auf Start, zeigen Sie auf Verwaltung und dann auf den Internet Information Services (IIS) Manager.
Wenn Sie Windows Vista oder Windows 7 verwenden:
- Klicken Sie auf der Taskleiste auf Start und dann auf Systemsteuerung.
- Doppelklicken Sie auf Verwaltungund doppelklicken Sie dann auf den Internet Information Services (IIS) Manager.
Erweitern Sie im Bereich Verbindungen den Servernamen, erweitern Sie Sites, navigieren Sie zu der Ebene im Hierarchiebereich, den Sie konfigurieren möchten, und klicken Sie dann auf die Website oder Webanwendung.
Scrollen Sie zum Abschnitt Sicherheit im Bereich Start, und doppelklicken Sie dann auf Authentifizierung.
Wählen Sie im Bereich Authentifizierung die Option Anonyme Authentifizierung, und klicken Sie dann Bearbeiten... im Bereich Aktionen.
Führen Sie im Dialogfeld Anonyme Authentifizierungsinformationen bearbeiten eine der folgenden Optionen aus:
Wählen Sie Anwendungspoolidentität aus, um den Identitätsgruppe für den Anwendungspool zu verwenden, und klicken Sie dann auf OK.
Klicken Sie auf Festlegen..., und geben Sie dann im Dialogfeld Anmeldeinformationen festlegen den Benutzernamen für das Konto im Feld Benutzername ein, geben Sie das Kennwort für das Konto in den Feldern Kennwort und Kennwort bestätigen ein, klicken Sie auf OK, und klicken Sie dann erneut auf OK.
Hinweis
Wenn Sie dieses Verfahren verwenden, gewähren Sie nur dem neuen Konto minimale Berechtigungen auf dem IIS-Servercomputer.
Konfiguration
Das <anonymousAuthentication>
-Element kann auf Site- und Anwendungsebene in der Datei „Web.config“ konfiguriert werden.
Attribute
Attribut | Beschreibung | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
enabled |
Optionales boolesches Attribut. Gibt an, ob die anonyme Authentifizierung aktiviert ist. Der Standardwert ist true . |
||||||||||
logonMethod |
Optionales Enumerationsattribut. Das logonMethod-Attribut kann einer der folgenden möglichen Werte sein. Der Standardwert ist ClearText .
|
||||||||||
password |
Optionales String -Attribut. Gibt die Passwort für die anonyme Authentifizierung an. Hinweis: Um nicht verschlüsselte Kennwortzeichenfolgen in Konfigurationsdateien zu speichern, verwenden Sie immer AppCmd.exe oder den IIS-Manager, um Kennwörter einzugeben. Wenn Sie diese Verwaltungstools verwenden, werden die Kennwortzeichenfolgen automatisch verschlüsselt, bevor sie in die XML-Konfigurationsdateien geschrieben werden. Dies bietet eine bessere Kennwortsicherheit als das Speichern unverschlüsselter Kennwörter. |
||||||||||
username |
Optionales String -Attribut. Gibt den Benutzernamen für die anonyme Authentifizierung an. Wenn Sie diesen Wert leer lassen (d. h. username=""), verwendet die anonyme Authentifizierung die Anwendungspoolidentität, um anonyme Benutzer zu authentifizieren. Der Standardwert ist IUSR . |
Untergeordnete Elemente
Keine.
Konfigurationsbeispiel
Im folgenden Konfigurationsbeispiel wird die anonyme Authentifizierung für eine IIS 7-Website oder Webanwendung für die Verwendung eines lokalen Kontos auf dem Webserver konfiguriert. (IIS 7 verwendet automatisch die AES-Verschlüsselung, um das Kennwort zu verschlüsseln.)
<security> <authentication>
<anonymousAuthentication
userName="User1"
password="[enc:AesProvider:57686f6120447564652c2049495320526f636b73:enc]" />
</authentication>
</security>
Beispielcode
In den folgenden Beispielen wird die anonyme Authentifizierung aktiviert und der Standardbenutzername und das Standardkennwort für die anonyme Authentifizierung in ein Konto namens IUSR mit dem Kennwort P@ssw0rd geändert.
AppCmd.exe
appcmd.exe set config "Contoso" -section:system.webServer/security/authentication/anonymousAuthentication /enabled:"True" /commit:apphost
appcmd.exe set config "Contoso" -section:system.webServer/security/authentication/anonymousAuthentication /userName:"IUSR" /commit:apphost
appcmd.exe set config "Contoso" -section:system.webServer/security/authentication/anonymousAuthentication /password:"P@ssw0rd" /commit:apphost
Hinweis
Sie müssen unbedingt den Commitparameterapphost
festlegen, wenn Sie AppCmd.exe verwenden, um diese Einstellungen zu konfigurieren. Dadurch werden die Konfigurationseinstellungen auf den entsprechenden Speicherortabschnitt in der Datei ApplicationHost.config festgelegt.
C#
using System;
using System.Text;
using Microsoft.Web.Administration;
internal static class Sample {
private static void Main() {
using (ServerManager serverManager = new ServerManager()) {
Configuration config = serverManager.GetApplicationHostConfiguration();
ConfigurationSection anonymousAuthenticationSection = config.GetSection("system.webServer/security/authentication/anonymousAuthentication", "Contoso");
anonymousAuthenticationSection["enabled"] = true;
anonymousAuthenticationSection["userName"] = @"IUSR";
anonymousAuthenticationSection["password"] = @"P@ssw0rd";
serverManager.CommitChanges();
}
}
}
VB.NET
Imports System
Imports System.Text
Imports Microsoft.Web.Administration
Module Sample
Sub Main()
Dim serverManager As ServerManager = New ServerManager
Dim config As Configuration = serverManager.GetApplicationHostConfiguration
Dim anonymousAuthenticationSection As ConfigurationSection = config.GetSection("system.webServer/security/authentication/anonymousAuthentication", "Contoso")
anonymousAuthenticationSection("enabled") = True
anonymousAuthenticationSection("userName") = "IUSR"
anonymousAuthenticationSection("password") = "P@ssw0rd"
serverManager.CommitChanges()
End Sub
End Module
JavaScript
var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var anonymousAuthenticationSection = adminManager.GetAdminSection("system.webServer/security/authentication/anonymousAuthentication", "MACHINE/WEBROOT/APPHOST/Contoso");
anonymousAuthenticationSection.Properties.Item("enabled").Value = true;
anonymousAuthenticationSection.Properties.Item("userName").Value = "IUSR";
anonymousAuthenticationSection.Properties.Item("password").Value = "P@ssw0rd";
adminManager.CommitChanges();
VBScript
Set adminManager = CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set anonymousAuthenticationSection = adminManager.GetAdminSection("system.webServer/security/authentication/anonymousAuthentication", "MACHINE/WEBROOT/APPHOST/Contoso")
anonymousAuthenticationSection.Properties.Item("enabled").Value = True
anonymousAuthenticationSection.Properties.Item("userName").Value = "IUSR"
anonymousAuthenticationSection.Properties.Item("password").Value = "P@ssw0rd"
adminManager.CommitChanges()