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.

Page: 1 2 3

ZDNet.de Redaktion

Recent Posts

Bedrohungen in Europa: Schwachstellen in der Lieferkette dominieren

Hinter 84 Prozent der Zwischenfälle bei Herstellern stecken Schwachstellen in der Lieferkette. Auf dem Vormarsch…

5 Tagen ago

Bericht: Apple arbeitet an faltbarem iPad

Es kommt angeblich 2028 auf den Markt. Das aufgeklappte Gerät soll die Displayfläche von zwei…

6 Tagen ago

HPE baut Supercomputer am Leibniz-Rechenzentrum

Das System basiert auf Hardware von HPE-Cray und Nvidia. Die Inbetriebnahme erfolgt 2027.

6 Tagen ago

Bund meldet Fortschritte in der Netzversorgung

Die Bundesnetzagentur hat ihr Gigabit-Grundbuch aktualisiert. Drei von vier Haushalten sollen jetzt Zugang zu Breitbandanschlüssen…

7 Tagen ago

Vorinstallierte Schadsoftware auf IoT-Geräten

Mit dem Internet verbundene Digitale Bilderrahmen oder Mediaplayer können mit Schadsoftware infiziert werden und sind…

1 Woche ago

iOS und iPadOS 18.2 beseitigen 21 Sicherheitslücken

Schädliche Apps können unter Umständen einen Systemabsturz auslösen. Mindestens eine Anfälligkeit erlaubt eine Remotecodeausführung.

1 Woche ago