2010-04-19 4 views
7

Nehmen wir an, wir haben eine Website, die einen Webdienst für all ihre Funktionen verwendet (z. B. das Abrufen und Aktualisieren von Daten aus/in db). Wie authentifiziert der Webdienst Anfragen?Sicherheit und Authentifizierung in Webdiensten

Wie ich es verstehe, in einer traditionellen Java "-Website" stellt ein Benutzer einen Benutzernamen & Passwort, und bei der Validierung wird eine jsessionid dem Benutzer zugewiesen (Client-Browser). Jedes Mal, wenn der Client-Browser die Website nach etwas fragt, sucht die Site nach der jsessionid, um sicherzustellen, dass der Benutzer registriert und authentifiziert ist. Gibt es ein Webservice-Äquivalent dazu? Wenn ja, was?

Antwort

5

Normalerweise ist die einfachste Lösung für Webdienste die Standardauthentifizierung. Für etwas Komplexeres wird "Api Key \ Token" mit jeder Anfrage übergeben, um die Benutzer zu authentifizieren. Eine andere Lösung ist OAuth.

Twitter zum Beispiel verwenden Basic Authentication und OAuth.

1

Muss Ihr Webdienst sogar öffentlich zugänglich sein?

Sie müssen sich möglicherweise keine Gedanken über komplizierte Authentifizierungsschemata machen, wenn es keinen Grund gibt, zuzulassen, dass öffentlicher Datenverkehr überhaupt den Webdienst erreicht.

+0

Während nicht genau "öffentlich" verfügbar sind, gibt es ein paar Situationen, die Sicherheitsprobleme sein können. Nehmen wir beispielsweise an, dass die Website JavaScript (d. H. Dwr) oder Flex-Apps verwendet, um direkt mit dem Webdienst und nicht über die Website zu kommunizieren. Während der Dienst nicht "öffentlich" verfügbar ist, kann ein anständiger Benutzer aus dem Javascript herausfinden oder mindestens die Adresse des Web-Service beugen und versuchen, diese Information falsch zu verwenden. Das ist das Thema, auf das ich neugierig bin. – King

+0

Da JavaScript und Flex Apps auf dem Client ausgeführt werden, bedeutet dies, dass Ihr Webdienst * öffentlich verfügbar ist. –

Verwandte Themen