Frage

Wir haben einen Web-Service, den wir auf einem öffentlichen Webserver bewirten und es wird von Web-Service gehostet auf Webservern innerhalb der Mauern eines Krankenhauses in Kontakt gebracht werden. Wir haben beide Teile der Software geschrieben, so dass wir die vollständige Kontrolle über das, was umgesetzt wird.

Wir möchten, dass die Kommunikation zwischen den beiden Web-Server sichern. Derzeit ist die einzige Sache, die wir an der richtigen Stelle ist https auf dem öffentlichen Web-Server und einem guid die Kunden zu identifizieren.

Es gibt Netzwerkebene Arten von Berechtigungs wir unterstützen können, aber ich mag es nicht, da nicht alle unserer Kunden (Krankenhäuser) auf dieser Berufung in der Lage sein, das Gleiche zu tun. Einige werden nicht die Möglichkeit haben, uns eine statische IP zu geben und einige nicht in der Lage sein, ein VPN zu tun, so dass wir können nicht allein auf diesen Methoden beruhen.

Welche Techniken, die Sie verwenden oder tun, die Sie interessieren Kommunikation zu Ihrem Web-Service aktivieren? Unser Hauptanliegen ist die Menschen davon ab, eine Krankenhaus ID (zur Zeit nur eine GUID) und Abrufen von Daten aus unserem Web schützen Service, der für das Krankenhaus vorgesehen ist.

Wir werden andere Netzwerkebene Sicherheitsmaßnahmen einsetzen, um die Öffentlichkeit Zugang zu unserem System zu begrenzen, aber ich fühle mich eine Softwarelösung als auch notwendig ist.

Das System ist noch nicht in der Produktion, sondern ist die Fertigstellung der Entwicklung nähern. Sein in C # auf .NET 3.5 entwickelt

FWIW Ich dachte an eine Art von Token basierte Autorisierung, weil ich einem früheren Arbeitgeber verwendet etwas in diese Richtung kennen. Aber ich weiß nicht, was speziell für oder andere Informationen über das Thema zu suchen.

Edit: Während ich WCF verwenden möchte, zur Zeit niemanden im Team (mich eingeschlossen) hat keine Erfahrung es mit und wir haben bereits den Web-Service zusammen mit dem Code, der in Wechselwirkung entwickelt mit ihnen. Alle der Webreferenzen wo die .net 2.0 Methode hinzugefügt (Fa vs.net08, gezielte 3,5 bis .net) und wir würden das nicht ganz wiederholen lieber. Ich werde nicht sagen, dass WCF keine Option ist, aber ich glaube nicht, dass wir gerne mit dieser Option gehen.

War es hilfreich?

Lösung

Könnten Sie verwenden so etwas wie Standardauthentifizierung über https Benutzername Passwort herausfordernd zur Verfügung zu stellen? Ich glaube, die Microsoft SOAP unterstützt ziemlich gut. Sie ziemlich viel nur IIS verwenden, um grundlegende auth zu konfigurieren (muss SSL verwenden) und in C # nur ICredentials zu Ihrem Proxy übergeben.

Von googeln, es sieht aus wie andere Sprachen auch grundlegende Auth über SOAP unterstützen.

Andere Tipps

Client-Zertifikate können Anmeldeinformationen verwendet werden, von einem Anrufer zu Ihrem Web Service zur Verfügung zu stellen; es ist nicht so schwer, die vergangen cert zu nehmen und zusätzliche Auswertung tun zu diktieren, was die cert Transparenz hat.

Sie möchten wahrscheinlich so etwas wie OAuth verwenden:

http://oauth.net/

Sie können dann mit WCF verwenden sie einen Endpunkt zu liefern.

Von dort würden Sie die Ansprüche an eine interne ID für die Kunden zuordnen möchten (Sie müssten, um zu bestimmen, was diese Abbildung).

Auf diese Weise müssen Sie sich nicht darauf verlassen, alles zu jeder Ausgabe, alles, was Sie tun müssen, ist die Zuordnung auf die an Sie gesendet Ansprüche schaffen basiert.

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