Zwei Methoden zur Kontrolle des Zugriffs auf .NET-Webdienste

Meistens wird der Zugriff auf Webdienste dadurch gesteuert, dass eine Art Schlüssel mit jedem Methodenaufruf weitergegeben werden muss. Das Schöne an dieser Methode ist ihre Einfachheit: Wird ein unpassender Wert weitergegeben, ist der Aufruf erfolglos und der Zugang zum Webdienst ist verweigert. In Listing A ist der kanonische Webdienst zur Währungsumrechnung zu sehen, der eine schlüssel-/programmgesteuerte Überprüfung zur Zugriffskontrolle anwendet.

Die Funktion PoundsToDollars akzeptiert als zweites Argument einen Zeichenfolgeschlüsselwert und gibt diesen Schlüsselwert nach dessen Überprüfung an die private Funktion ValidateUser weiter. Im einfachsten Fall könnte die Funktion ValidateUser einfach den Schlüssel mit einem festcodierten Wert vergleichen und bei deren Übereinstimmung den Wert True zurückgeben. Wahrscheinlicher ist jedoch, dass für jeden neuen Kunden ein neuer Schüsselwert vergeben wird, und diese Schlüssel werden dann in einer Datenbank nachgesehen.

Das Risiko bei dieser Methode ist, dass nichts die Benutzer davon abhält, ihre Schlüssel mit anderen zu teilen, was unbefugten Benutzern Zugriff auf den Webdienst geben würde. Um dieser möglichen Gefahr zu entgehen, besteht die Möglichkeit, die eingehende IP-Adresse aufzuzeichnen und die Schlüsselüberprüfung mit der IP-Adresse zu verbinden, doch wären dann die Benutzer nicht mehr in der Lage, von verschiedenen Orten auf den Dienst zuzugreifen. Würde das mobile Vertriebspersonal eine hypothetische Komponente benutzen, um nur ein Beispiel zu nennen, dann würden sich die Außendienstler von unterwegs jedes Mal mit einer neuen IP-Adresse einwählen. In diesem Fall würde die Suche nach spezifischen IP-Adressen im Rahmen des Überprüfungsprozesses nicht funktionieren.

Die Nutzung programmgesteuerter Überprüfung bringt weitere Vorteile und Nachteile mit sich, unter anderem:

Vorteile der programmgesteuerten Überprüfung

  • Einfach zu implementieren – Programmgesteuerte Überprüfung ist einfach anzuwenden. Ein Schlüssel wird akzeptiert und dann eine Überprüfungsroutine erstellt, die beliebig einfach oder kompliziert sein kann.
  • Erfordert keine Serveradministration – Bei programmgesteuerter Überprüfung ist man üblicherweise nicht von einem Serveradministrator abhängig, wenn es um das Erstellen neuer Konten für neue Kunden geht.

Nachteile der programmgesteuerten Überprüfung

  • Kontrolle kann schnell verloren gehen – Sobald jemand seinen Schlüssel mit jemand anders teilt, ist der Dienst auch für diese andere Person zugänglich. Je nachdem, wie man die Benutzer überprüft, kann es erforderlich sein, eine Datenbanktabelle zu ändern oder tatsächlich den Webdienst zu ändern und zu rekompilieren.
  • Zusätzliche Daten müssen weitergegeben werden – Jede Webmethode wird diesen Schlüsselwert akzeptieren müssen. Dies erfordert zusätzlichen Aufwand seitens des Entwicklers, was den Dienst belastet und mit zusätzlicher Datenweitergabe bei jedem Aufruf verbunden ist.

Themenseiten: Anwendungsentwicklung, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu Zwei Methoden zur Kontrolle des Zugriffs auf .NET-Webdienste

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *