Sicherer REST-Service

miketech

Bekanntes Mitglied
Hi zusammen,

ich möchte über eine Webanwendung (Javascript auf der Client-Seite) auf einen REST-Service zugreifen. Jetzt soll aber nicht jeder auf alle Ressourcen zugreifen können. D.h. angenommen ich habe Adressen:

http://myhost/address/{id}

Jetzt sollen nicht alle IDs für jeden zugänglich sein. Sondern abhängig von den Zugangsdaten sollen nur bestimmte Adressen abgefragt werden können. So soll auch ein GET auf

htt://myhost/address

nicht alle Adressen liefern, sondern nur diejenigen, die man mit seinen Zugangsdaten lesen kann.

Wie gehe ich mit dieser Situation um? Schicke ich bei jedem Aufruf immer noch username und password als Credentials mit? Und das jeweils als Klartext? Wo prüfe ich die Zugangsdaten?

Ich will die Steuerung nicht unbedingt über den Tomcat direkt und HTTP Access lösen, weil ich dann ein LDAP oder sowas anbinden müsste. Ich habe die Zugangsdaten wie bei klassischen Webanwendungen in einer SQL-Datenbank gespeichert.

Gruß

Michael
 
Ich habe in einer ähnlichen Situation folgendes gemacht:

mydomain.de/adress/id?username=ich&sec=aghsjdhten28782ksmasz2kmwhs82

mydomain.de/adress/id ist der angefragte Datensatz
?username=ich ist der mitgeschickte Username
sec=... ist ein SHA1-Hash über die gesamte aufgerufene URL, in die an vorher definierten Stellen das geheime Passwort des Aufrufers eingewoben wurde
 
Grundsätzlich arbeitet du doch wahrscheinlich auch mit einer Session und "legst" den User da ab?
Musst dann bei einer Anfrage doch nur prüfen, welchen User (bzw. ob ein User) in der Session ist und dieser hat dann "irgendwelche" rechte.
Oder ist mein Denken da gerade ein wenig naiv?
 

Zurück
Oben