2009-04-21 13 views
0

Ich muss eine HttpSession (über Cookie) erstellen, wenn ein Client eine bestimmte UI aufruft.Wie erstelle ich eine neue HttpSession in einer RESTful Webapp?

Annahmen:

  • Lassen Sie sich unter der Annahme, dass ich werde nicht über jeden tief oAuth artige Authentifizierung Tanz sorgen. JESSIONSID-Cookie-Identitätswechsel ist im Moment kein Problem.
  • Der Server ist Tomcat, daher wird ein JSESSIONID-Cookie an den Client gesendet, wenn eine neue Sitzung erstellt wird.

Design Themen:

  1. Ich Auseinandersetzung mit wie die URI zu entwerfen. Was ist eigentlich die REST-Ressource? Ich habe bereits /Benutzer und /users/{someuserid}. Ich wollte /auth/login verwenden, aber in einer früheren SO Frage, eine cited article sagt, dass wir keine Verben in der URL haben sollten. Ich habe festgestellt, dass sogar durch https://www.google.com/accounts/OAuthGetRequestToken. Also Ihrer Meinung nach sind /auth/login/johndoe (Login) und /auth/logout/johndoe (abmelden) gute Optionen?

UPDATE:

Ich habe mein Design geändert. Ich denke jetzt an die Verwendung der URIs /Sitzung/johndoe (PUT für Login, DELETE für Abmeldung). Es sollte immer noch innerhalb der Grenzen des REST-Ethos sein?

Antwort

0

Ich bin in der Mitte einen REST-Endpunkt zu schaffen, die Sitzungen erkennt. Ich habe auf standardisiert:

Es ist gut zu arbeiten.

4

Sind Sitzungen in der REST-Architektur nicht relevant?

http://www.prescod.net/rest/mistakes/

+0

In meinem Fall muss ich wirklich eine Sitzung haben. Weil jeder Sitzungsaufbau eine "beträchtliche" Ressource in meinem Backend verbraucht. –

+1

Wenn Sie wirklich diese Sitzung "brauchen", dann schlage ich vor, Sie aufhören zu versuchen, Ihre Anwendung RESTful zu machen. Sie werden den ganzen Weg stromaufwärts schwimmen. Das Entfernen des Anwendungsstatus vom Server ist eine der Haupteinschränkungen von REST. –

+0

Ich habe keine andere Wahl. Die Webanwendung befindet sich in einem Servlet-Container. –

Verwandte Themen