2011-12-27 10 views
6

Sto imparando i dettagli del nuovo stack DerbyJS e non riesco a trovare un modo per mettere la logica dell'applicazione lato server. L'intento dichiarato è che tutto il codice dovrebbe essere in grado di essere eseguito sia nel server che nel client. Tuttavia, ho bisogno che alcuni dati vengano mantenuti nascosti e inviati al client solo se autenticati in base alle informazioni sulla sessione dell'utente. Come posso realizzare questo utilizzando un negozio Racer?Come creare la logica dell'applicazione lato server su Racer/DerbyJS?

+0

Giusto per essere chiari: stai cercando di nascondere * data * o * codice * dal client? – hsribei

+0

Btw, potresti aggiungere il tag 'derbyjs' a questa domanda? Grazie! (Non so se anche 'redis' sia un buon tag.) – hsribei

+0

@ obvio171: Una mod ha effettivamente rimosso il tag, ma sembra essere stato aggiunto nuovamente. E mi riferivo principalmente a nascondere i dati, non il codice. –

risposta

6

È possibile inserire la logica dell'applicazione sul lato server nella directory app/server. Sul server, le app Derby espongono un middleware Express, quindi puoi concatenare altri middleware prima di questo. Ad esempio, potresti avere un middleware di autenticazione che impedisce il rendering di alcune rotte se l'utente non ha effettuato il login.

Tuttavia, questa non è una soluzione sufficiente per l'autenticazione, perché gli aggiornamenti dei dati arrivano come messaggi su Socket.IO e non passeranno attraverso il middleware Express che le richieste iniziali della pagina sono passate.

Stiamo per aggiungere una soluzione semplice che consente di autenticare gli utenti e quindi autorizzarli in base al percorso ogni volta che si iscrivono o modificano i dati, ma questo non è ancora implementato. Questo è in cima alla lista delle cose che devono essere fatte, e Derby è ancora in rapido sviluppo.