Die Aufrechterhaltung Authentifizierung zwischen einem WCF-Client und Dienst? (Workflow zur Verfügung gestellt)

StackOverflow https://stackoverflow.com/questions/4692558

Frage

Was ich tun möchte, ist:

1) Authentifizieren der Client für den ersten Aufruf an den WCF-Dienst macht, diese auf einer Per-User-Basis sein wird, statt einem pro Anwendung.

2) Überprüfen Sie den Client ist berechtigt, den Anruf zu tätigen.

3) Für nachfolgende Aufrufe nur genehmigen, mit Authentifizierung bereits in Schritt 1 für einen vorherigen Anruf getätigt wurde.

oder

Wenn der Kunde auf eine andere Instanz des Dienstes aus irgendeinem Grund oder der „Handshake“ verbunden hat, ist gebrochen erneut authentifizieren.

Ich hoffe, das macht Sinn, bedeutet dies implizit in WCF geschieht mit etwa Benutzername und Passwort-Authentifizierung und Autorisierung oder tun I / gibt es eine Möglichkeit, um etwas schreiben angepasst werden? Im Wesentlichen ist dies für Effizienz.

Vielen Dank, Fugu

War es hilfreich?

Lösung

Dies ist Sicherheitskontext (oder Sicherheits-Session) genannt, und es ist möglich, mit Nachrichtensicherheit. Die einzige Einschränkung ist, dass Sitzung zwischen einzelnen Service-Instanz und Client-Proxy gehandhabt wird (alle Anrufe müssen auf der gleichen Proxy-Instanz durchgeführt werden).

Hier einige Grundkonfiguration für das Erlauben Kontext Sicherheit:

<wsHttpBinding>
  <binding name="wsHttp">
    <security mode="Message">
      <message clientCredentialsType="UserName" estabilishSecurityContext="true" />
    </security>
  </binding>
</wsHttpBinding>

EstabilishSecurityContext ist standardmäßig wahr. Beim Einschalten dies auf WS-Secure-Protokoll verwendet wird. Erster Aufruf übergibt Anmeldeinformationen, die authentifiziert werden und Sicherheits-Token an den Client ausgegeben. Weiter Anrufe nutzen dieses Sicherheitstoken Client-Identität zu schaffen. Dieses Verhalten ist transparent für Entwickler, so dass Sie nicht mit Token zu tun haben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top