Vorgehensweise: Schützen von Nachrichten innerhalb einer zuverlässigen Sitzung
Dieses Thema enthält einen Überblick über die Schritte zum Aktivieren der Sicherheit auf Nachrichtenebene für den Nachrichtenaustausch innerhalb einer zuverlässigen Sitzung mithilfe einer der vom System bereitgestellten Bindungen, die eine solche Sitzung zwar unterstützen, standardmäßig aber keine Unterstützung dafür bieten. Eine sichere, zuverlässige Sitzung können Sie entweder verbindlich durch Verwenden von Code oder deklarativ in der Konfigurationsdatei aktivieren. Dieses Verfahren verwendet die Konfigurationsdateien von Client und Dienst, um die sichere, zuverlässige Sitzung zu aktivieren.
Dieses Verfahren besteht aus den folgenden drei Hauptaufgaben:
Angeben, dass der Client und der Dienst Nachrichten in einer zuverlässigen Sitzung austauschen.
Anfordern der Sicherheit auf Nachrichtenebene innerhalb der zuverlässigen Sitzung.
Angeben des Clientanmeldeinformationstyps, den der Client verwenden muss, um sich selbst beim Server authentifizieren zu können.
Der wesentliche Punkt der ersten Aufgabe besteht darin, dass das Element zur Endpunktkonfiguration ein bindingConfiguration-Attribut enthält, das auf eine Bindungskonfiguration namens (in diesem Beispiel) "MessageSecurity" verweist. Das <binding>enabled-Konfigurationselement kann dann zum Aktivieren zuverlässiger Sitzungen auf diesen Namen verweisen, indem es das reliableSession-Attribut destrue-Elements auf festlegt. Sie können angeben, dass eine Zusicherung der Zustellung in der richtigen Reihenfolge innerhalb einer zuverlässigen Sitzung verfügbar ist, indem Sie das ordered-Attribut auf true festlegen.
Die Quellkopie des Beispiels, auf dem dieses Konfigurationsverfahren basiert, finden Sie unter Zuverlässige WS-Sitzung.
Die wesentlichen Punkte der zweiten Aufgabe werden erreicht, indem Sie das mode-Attribut des im <binding>-Element des Clients und des Diensts enthaltenen <security>-Elements auf Message festlegen.
Die wesentlichen Punkte der dritten Aufgabe werden erreicht, indem Sie das clientCredentialType-Attribut des im <security>-Element des Clients und des Diensts enthaltenen <message>-Elements auf Certificate festlegen.
Hinweis: |
---|
Wenn Sie Nachrichtensicherheit zusammen mit zuverlässigen Sitzungen verwenden, und der Client ist nicht authentifiziert, versucht das zuverlässiges Messaging, den Client so lange zu authentifizieren, bis ein Timeout auftritt, statt nach dem ersten Fehlschlag eine Ausnahme auszulösen. |
So konfigurieren Sie den Dienst mit WSHttpBinding zur Verwendung einer zuverlässigen Sitzung
- Dieses Verfahren wird unter Vorgehensweise: Austauschen von Nachrichten innerhalb einer zuverlässigen Sitzung beschrieben.
So konfigurieren Sie den Client mit WSHttpBinding zur Verwendung einer zuverlässigen Sitzung
- Dieses Verfahren wird unter Vorgehensweise: Austauschen von Nachrichten innerhalb einer zuverlässigen Sitzung beschrieben.
So legen Sie den Modus und den ClientCredentialType in der Konfiguration fest
Fügen Sie dem <bindings>-Element der Konfigurationsdatei ein entsprechendes Bindungselement hinzu. Im folgenden Beispiel wird ein <wsHttpBinding>-Element hinzugefügt.
Fügen Sie ein <binding>-Element hinzu, und legen Sie das name-Attribut auf einen geeigneten Wert fest.
Fügen Sie ein <security>mode-Element hinzu, und legen Sie das Message-Attribut auf fest.
Im folgenden Beispiel wird der Modus auf Message festgelegt, und anschließend wird das clientCredentialType-Attribut des <message>-Elements auf Certificate festgelegt.
<wsHttpBinding> <binding name="MessageSecurity"> <security mode="Message" /> <message clientCredentialType = " Certificate" /> </security> </binding> </wsHttpBinding >