| 

.NET C# Java Javascript Exception

5
Das wäre ja nicht sehr sicher, denn einmal das richtige Passwort geraten und schon ist der Kanal für immer offen. Kann man das nicht so sicher machen, dass jede Abfrage authentifizert werden muss?
16.11.2011
Sebastian Morr 31 2
3 Antworten
2
REST selbst ist ja kein Standard oder Technologie, sondern eher eine Sammlung von best practices, um andere Standards und Technologien, insbesondere HTTP, für die Programmierung von Web-Diensten einzusetzen.

D.h. Du kannst prinzipiell jede Art von Authentifizierung nutzen, die Dein Webserver und die darin laufende Webtechnologie unterstützen, z.B. HTTP Basic Authentication, Authentifizierung per Client-Zertifikat, NTLM/Kerberos oder eben, wie von m.fuchs vorgeschlagen, anwendungsseitig im Rahmen deiner Service-Implementierung.
16.11.2011
Matthias Hlawatsch 8,4k 2 8
1
Was hindert dich daran deinen REST-Service so zu implementieren, dass er selber die Authentifizierung übernimmt? Und dies bei jedem Request tut.

Das ist sowieso zu empfehlen, wenn man später mal das System clustern möchte.
16.11.2011
m.fuchs 1,6k 7
Blöde Frage: Wie mache ich das? Normalerweise sieht ein Request ja so aus:
/server/tabelle/primarykey
Wie bastel ich denn ein Authentifizierung rein?
Sebastian Morr 16.11.2011
1
/server/tabelle/primarykey?user=mustermann&password=geheim
m.fuchs 16.11.2011
Wenn du uns jetzt noch sagst auf welcher Basis deinen Dienst implementieren willst?
Mir fallen da einige Beispiele ein: HTTP-Auth, Cookie, HTTPS, ...
Karl 16.11.2011
LAMP treibt das Ding.
Sebastian Morr 16.11.2011
Ach so. Stimmt. So könnte das gehen. Aber ist das auch Standardkonform?
Sebastian Morr 16.11.2011
Solange sichergestellt ist, dass jeder URI immer nur ein bestimmtes Ergebnis zurückliefert ist der "Standard" erfüllt. Mehr sagt REST nicht aus.
Wenn du jetzt noch zwei Parameter zur Authentifizierung dranhängst ist das völlig Ok. An deinem URI-Format ändert sich deswegen ja nix.
m.fuchs 16.11.2011
Dass Du das ganze nur über HTTPS laufen lassen solltest, versteht sich von selbst, oder...
Matthias Hlawatsch 16.11.2011
Dann könnte mal die Authentifizierung auch gleich darüber abwickeln :)
Karl 16.11.2011
@Karl Ganz so einfach ist es dann auch wieder nicht. HTTPS heißt ja erst mal nur, dass sich der Server gegenüber dem Client mit einem SSL-Zertfikat authentifiziert und anschließend die Kommunikation verschlüsselt abläuft. Für die Authentifizierung der Clients gegenüber dem Server bräuchte jeder Client nochmal ein eigenes Client-Zertifikat. Dafür muss man schon etwas Aufwand treiben. Aber es ist eine Option, habe es deshalb ja auch in meiner Antwort erwähnt.
Matthias Hlawatsch 16.11.2011
Hallo Matthias, wer hat denn was von einfach erzählt :) Das mit dem Verteilen ist _allerdings_ "aufwändig" - hat aber den Charme, das wenn du das Ganze im LDAP machst, auch gleichzeitig eine Orgaverwaltung für deine Applikation hast. Aber das ist vielleicht ein wenig "oversized".
Karl 16.11.2011
"auch gleich" klang für mich sehr nach "einfach"...
Matthias Hlawatsch 16.11.2011
0
- sollte ein Kommentar werden ... -
16.11.2011
Karl 850 7

Stelle deine Sicherheit-Frage jetzt!