2009-08-27 6 views
2

Es fällt mir schwer, mich damit zu beschäftigen, und Google ist einfach nicht hilfreich.Strategien zur Sicherung eines WCF-Dienstes, die von jQuery angeforderte JSON-Daten zurücksenden

Ich bin dabei, einige Legacy-Code zu konvertieren, um die folgenden Technologien zu verwenden: ASP.NET, WCF, jQuery.

Die ASP.NET-Konvertierung ist kein Problem, und der Zugriff auf den WCF-Dienst für Daten auf der Serverseite ist ebenfalls kein Problem.

Allerdings kann ich den Dienst möglicherweise sichern, sodass ich JSON-formatierte Daten zurückgeben kann, die über jQuery auf der Clientseite angefordert werden, die jedoch gesperrt werden, um externen Zugriff zu verhindern.

Für diese spezielle Implementierung ist es nicht so eine große Sache, da die ... quasi-Ajax-ähnliche Funktionalität schon eine ganze Weile vorhanden ist und nicht missbraucht wurde.

Aber, sobald dieses Projekt abgeschlossen ist, würde ich gerne nehmen, was ich gelernt habe und ein anderes Formular umwandeln, das oft missbraucht wird, und für eine schönere Darstellung sorgen.

Wenn ich clientseitige Aufrufe an einen Webdienst durchführen möchte, bleibe ich dabei, meinen Webservice für anonymen Zugriff zu öffnen?

Kurz, um die Webschnittstelle auf eine bestimmte Untergruppe von Benutzern zu beschränken (ich sehe kein Problem beim Sichern der hinzugefügten Funktionen für angemeldete Benutzer), gibt es andere Strategien zum Sichern eines Webdienstes in diesem Szenario? Übersehe ich gerade etwas Offensichtliches?

Antwort

0

Erfordern eine authentifizierte Sitzung für die serverseitige Seite und seinen Aufrufer über Ajax, beide hinter HTTPS.

Eine andere Strategie besteht darin, ein Token zu verwenden, das beim letzten Laden der Seite an die Sitzung gebunden ist, um zu bestätigen, dass die Sitzung selbst nicht überladen ist. Dies geschieht, wenn der Client die Seite lädt. Der Server verfolgt, was das nächste Token sein muss, um eine gültige Anfrage zu bestätigen.

+0

Re Token: Ich habe darüber schon früher nachgedacht und dann auf den Sparer geschoben. Ich kann mich jedoch nicht mehr erinnern, warum ... Das würde auch eine gewisse Flexibilität ermöglichen; Lassen Sie die Token entweder x Minuten nach der Zuweisung ablaufen, oder lassen Sie eine halb ablaufende Ablaufzeit zu (bis zu einem bestimmten Zeitraum). –

Verwandte Themen