Vorgehensweise: Ersetzen der WCF URL-Reservierung durch eine eingeschränkte Reservierung
Mithilfe einer URL-Reservierung können Sie einschränken, wer Nachrichten von einer URL oder einem Satz von URLs empfangen darf. Eine Reservierung besteht aus einer URL-Vorlage, einer Zugriffssteuerungsliste (ACL) und einer Gruppe von Flags. Die URL-Vorlage definiert, auf welche URLs sich die Reservierung auswirkt. Weitere Informationen über über die Verarbeitung von URL-Vorlagen finden Sie unter Routing Incoming Requests (nur in englischer Sprache). Die ACL steuert, welche Benutzer oder Benutzergruppen Nachrichten von den angegebenen URLs empfangen dürfen. Die Flags geben an, ob die Reservierung einem Benutzer oder einer Benutzergruppe die Berechtigung erteilt, die URL direkt zu überwachen oder die Überwachungsberechtigung an einen anderen Prozess zu übergeben.
Windows Communication Foundation (WCF) erstellt im Rahmen der Standardbetriebssystemkonfiguration eine Reservierung mit globalem Zugriff für Anschluss 80, sodass alle Benutzer Anwendungen auszuführen können, die eine duale HTTP-Bindung für die Duplexkommunikation verwenden. Da die ACL bei dieser Reservierung allen Benutzern zur Verfügung steht, können Administratoren die Berechtigung, eine URL oder einen Satz von URLs zu überwachen, nicht explizit zulassen oder verweigern. In diesem Thema wird erläutert, wie Sie diese Reservierung löschen und mit einer eingeschränkten ACL neu erstellen.
Unter Windows Vista oder Windows Server 2008 können Sie alle HTTP-URL-Reservierungen von einer Eingabeaufforderung auf höherer Ebene aus anzeigen, indem Sie netsh http show urlacl
eingeben. Das folgende Beispiel zeigt, was eine URL-Reservierung in WCF ungefähr aussehen sollte.
Reserved URL : http://+:80/Temporary_Listen_Addresses/
User: \Everyone
Listen: Yes
Delegate: No
SDDL: D:(A;;GX;;;WD)
Die Reservierung besteht aus einer URL-Vorlage, die verwendet wird, wenn eine WCF-Anwendung eine duale HTTP-Bindung für die Duplexkommunikation nutzt. Derartige URLs werden verwendet, damit ein WCF-Dienst bei der Kommunikation über eine duale HTTP-Bindung Nachrichten an den WCF-Client zurücksenden kann. Allen Benutzern wird die Berechtigung erteilt, die URL zu überwachen, sie sind jedoch nicht berechtigt, die Überwachung an einen anderen Prozess zu delegieren. Die ACL wird in Security Descriptor Definition Language (SSDL) beschrieben. Weitere Informationen über über SSDL finden Sie unter SSDL
So löschen Sie die WCF URL-Reservierung
Klicken Sie auf Start, zeigen Sie auf Alle Programme, klicken Sie Zubehör, klicken Sie mit der rechten Maustaste auf Eingabeaufforderung, und wählen Sie im eingeblendeten Kontextmenü Als Administrator ausführen aus. Klicken Sie im Fenster "Benutzerkontensteuerung", in dem ggf. Berechtigungen für die Fortsetzung des Vorgangs angefordert werden, auf Weiter.
Geben Sie in das Eingabeaufforderungsfenster netsh http delete urlacl url=http://+:80/Temporary_Listen_Addresses/ ein.
Wenn die Reservierung erfolgreich gelöscht wurde, wird die folgende Meldung angezeigt. Die URL-Reservierung wurde erfolgreich gelöscht.
Erstellen einer neuen Sicherheitsgruppe und einer neuer eingeschränkten URL-Reservierung
Um die URL-Reservierung in WCF durch eine eingeschränkte Reservierung zu ersetzen, müssen Sie zunächst eine neue Sicherheitsgruppe erstellen. Hierzu stehen zwei Methoden zur Auswahl: Verwenden Sie entweder eine Eingabeaufforderung oder die Computerverwaltungskonsole. Sie müssen nur eine Methode ausführen.
So erstellen Sie eine neue Sicherheitsgruppe an einer Eingabeaufforderung
Klicken Sie auf Start, zeigen Sie auf Alle Programme, klicken Sie Zubehör, klicken Sie mit der rechten Maustaste auf Eingabeaufforderung, und wählen Sie im eingeblendeten Kontextmenü Als Administrator ausführen aus. Klicken Sie im Fenster "Benutzerkontensteuerung", in dem ggf. Berechtigungen für die Fortsetzung des Vorgangs angefordert werden, auf Weiter.
Geben Sie an der Eingabeaufforderung net localgroup "<Name der Sicherheitsgruppe>" /comment:"<Beschreibung der Sicherheitsgruppe>" /add ein. Ersetzen Sie dabei <Name der Sicherheitsgruppe> durch den Namen der zu erstellenden Sicherheitsgruppe und <Beschreibung der Sicherheitsgruppe> durch eine geeignete Beschreibung für die Sicherheitsgruppe.
Wenn die Sicherheitsgruppe erfolgreich erstellt wurde, wird die folgende Meldung angezeigt. Der Befehl wurde erfolgreich abgeschlossen.
So erstellen Sie eine neue Sicherheitsgruppe an der Computerverwaltungskonsole
Klicken Sie auf Start, Systemsteuerung, Verwaltung und Computerverwaltung, um die Computerverwaltungskonsole zu öffnen. Klicken Sie im Fenster "Benutzerkontensteuerung", in dem ggf. Berechtigungen für die Fortsetzung des Vorgangs angefordert werden, auf Weiter.
Klicken Sie auf System und auf Lokale Benutzer und Gruppen, klicken Sie dann mit der rechten Maustaste auf den Ordner Gruppen, und wählen Sie in dem eingeblendeten Kontextmenü Neue Gruppe aus. Geben Sie in die Felder Gruppenname und Beschreibung die gewünschten Werte sowie weitere Details zu dieser neuen Sicherheitsgruppe ein, und klicken Sie auf die Schaltfläche Erstellen, um die Sicherheitsgruppe zu erstellen.
So erstellen Sie die eingeschränkte URL-Reservierung
Klicken Sie auf Start, zeigen Sie auf Alle Programme, klicken Sie Zubehör, klicken Sie mit der rechten Maustaste auf Eingabeaufforderung, und wählen Sie im eingeblendeten Kontextmenü Als Administrator ausführen aus. Klicken Sie im Fenster "Benutzerkontensteuerung", in dem ggf. Berechtigungen für die Fortsetzung des Vorgangs angefordert werden, auf Weiter.
Geben Sie an der Eingabeaufforderung netsh http add urlacl url=http://+:80/Temporary_Listen_Addresses/ user="<Computername>\<Name der Sicherheitsgruppe> ein. Ersetzen Sie <Computername> durch den Namen des Computers, auf dem die Gruppe erstellt werden soll, und <Name der Sicherheitsgruppe> durch den Namen der zuvor erstellten Sicherheitsgruppe.
Wenn die Reservierung erfolgreich erstellt wurde, wird die folgende Meldung angezeigt. Die URL-Reservierung wurde erfolgreich hinzugefügt.