2009-09-24 13 views
5

Sono un programmatore web Spring/JavaEE e sto iniziando a indagare i principi di REST per le future applicazioni Web, ma non riesco a capire come eseguire accessi utilizzabili. Per un'API Web ha senso, ma per quanto riguarda le applicazioni Web per utenti finali? Ho esaminato l'autenticazione Basic/Digest HTTP, ma questo produce solo una brutta finestra di dialogo. Qualcuno ha qualche idea?Accesso basato su modulo mentre si applicano i principi REST

risposta

2

Ciò dipende in realtà dall'approccio all'accesso basato su modulo.

Il modo in cui è definito nella specifica J2EE, la pagina di accesso viene visualizzata solo all'utente (ancora autenticato) quando tenta di accedere a una risorsa protetta; non è (o non dovrebbe essere) accessibile da solo. In tale scenario, la pagina di accesso non deve essere governata dai principi REST in quanto non è una "risorsa" di per sé. In altre parole, il flusso di lavoro è:

  1. utente tenta di GET REST url, '/ prodotti/0.332.425'
  2. S/egli viene reindirizzato a '/ login', i messaggi le sue credenziali, viene reindirizzato (come GET) alla pagina originale ('/ products/0332425')
  3. I tentativi successivi di arrivare a '/ login' danno come risultato un errore (403?) O un reindirizzamento a "root".

Se ciò non funziona per te e devi avere il tuo modulo di accesso disponibile su più pagine, trattalo come parte della pagina e la sua presentazione come faresti con qualsiasi altro POST.

+1

Questo non è veramente riposante. RESTful sarebbe l'autenticazione HTTP in cui si invia nome utente e passwort (o hash) ad ogni richiesta. – deamon

Problemi correlati