2009-03-28 11 views
8

Sono confuso sull'autenticazione con BlazeDS. La maggior parte dei pochi esempi che ho trovato per l'autenticazione e l'autorizzazione in BlazeDS e, di conseguenza, Java Servlet in generale fanno uso dell'autenticazione e dei reami di base e autenticazione HTTP per l'autorizzazione. Questi esempi sono molto semplicistici e coinvolgono file XML con le credenziali dell'utente piuttosto che utilizzare un database. La mia esperienza passata nelle applicazioni web ha utilizzato accessi e sessioni basati su moduli per l'autenticazione e l'autorizzazione, ma non sono sicuro di come farlo con le app Flex con i backend BlazeDS.BlazeDS autenticazione

Quello che voglio fare è avere un modo per accedere ad alcuni servizi sul back-end per gestire l'autenticazione come un modulo HTML e un modo per memorizzare i dati di sessione in un cookie per l'autorizzazione, ma sto riscontrando problemi nel trovare i dettagli rilevanti usando i cookie nelle applicazioni BlazeDS e Flex.

Se l'autenticazione HTTP con autenticazione di base o digest è la migliore, esiste una risorsa per scoprire come autenticare gli utenti con le credenziali archiviate nel database anziché un file XML?

Non sono particolarmente interessato ai framework Web poiché vorrei capire come autenticare/autorizzare gli utenti con un semplice Servlet e BlazeDS.

risposta

7

L'autenticazione con BlazeDS e Flex non è diversa dalle tradizionali app Web. Flex utilizza lo stesso stack di rete del browser. Quindi segui le istruzioni per proteggere il tuo server delle app e poi dovrebbe funzionare. Se si desidera avere il modulo di accesso in Flex, è sufficiente inviare le credenziali a j_security_check (per l'autenticazione basata su modulo). In alternativa è possibile chiamare il login su channelSet. Spring Security e Spring BlazeDS L'integrazione M2 lo rende molto semplice. Guarda il Test Drive per un grande esempio (i nomi utente e le password sono ancora in un file XML ma puoi facilmente seguire la documentazione di Spring per spostarli in un database o un server LDAP).

+0

In Test Drive, sembra che il channelSet viene azzerato ad ogni aggiornamento del browser. Se hai autenticato e aggiornato la pagina e controlli channelSet.authenticated, si dice false, ma la tua chiamata RemoteObject continuerà a funzionare. Sembra che tu rimanga autenticato in Spring, ma Flex non lo sa. Mi piacerebbe trovare un modo per accedere utilizzando la sicurezza Spring e farlo trasferire su Flex, JSPs, qualunque (come SSO). Mi piacerebbe essere in grado di controllare da Flex per vedere se sei già autenticato con Spring (oltre a chiamare un metodo di hacking e vedere se ti viene negato l'accesso). –

+0

@ I-Never-Finish-Anythi un'altra soluzione lato client sarebbe quella di mantenere queste informazioni in un oggetto condiviso Flash. Memorizza una sorta di token e un timestamp e, se valido, esegue l'autenticazione con quel token. Chiamare un metodo di hacking mi sembra una soluzione più pulita. –

1

Utilizzare Spring Security e controllare questo sito Web link text. Spero che sarà di aiuto.

Problemi correlati