2013-03-24 1 views
7

Sto appena iniziando a studiare Ember.js e SPA. Ho uno sfondo in ASP.Net MVC/C#/Razor.Come gestire l'autenticazione in un'app ember.js

Come funziona l'autenticazione? In un normale sito web utilizzo solo un provider Oauth e quando viene restituito con informazioni autenticate, creare un ticket di autenticazione dei moduli.

Non ho trovato nessun buon tut/articolo riguardante l'autenticazione ... In particolare su ASP.Net.

Non vedo l'ora di iniziare davvero a scavare in ember.js, ma SO che questo sarà importante sin dall'inizio per me.

Grazie!

+1

come si effettua attualmente il login non-js? API di appartenenza? –

+0

Sto iniziando un'app ember da zero per imparare il framework. Provenendo da uno sfondo di asp.net mvc, preferirei usare ember su quella piattaforma. Le mie app precedenti, prendo le informazioni di autenticazione oauth e creo un ticket Formauth da esso, essenzialmente registrandole in. – Chaddeus

+1

Il primo suggerimento è creare un metodo di azione che puoi chiamare da JS per l'autenticazione oauth. Secondo suggerimento, usa l'API web. –

risposta

4

In generale, l'autenticazione in un'app Ember non è molto diversa dall'autenticazione nella maggior parte delle app Web. Si utilizza un cookie di sessione per identificare un utente come effettuato l'accesso sul server e mostrare un'interfaccia utente di accesso se la sessione non è già autenticata.

In un'applicazione Web tradizionale, che controlla il potenziale reindirizzamento & si verifica una richiesta di pagina. In un'app Ember, lo si farebbe su una richiesta API, in genere inviata dal router e nel caso di una risposta API che indica che l'utente non ha effettuato l'accesso, transizione a una rotta logIn che mostra all'utente un modulo nome utente/password. Se stai usando OAuth, sarebbe uno schema simile, ma invece permetti all'utente di avviare il flusso OAuth in quel punto.

alternativo avvicina

Altri modelli includono la verifica di autenticazione prima volta che si carica la pagina index.html del Ember applicazione, o il reindirizzamento fuori della app Ember a un registro tradizionale nella pagina quando si API rapporti che la sessione è non risulti loggato.

Note

Indipendentemente dal tipo di approccio, è importante che ciascuno dei vostri API server di verificare che l'utente sia autenticato e autorizzato. Inoltre, ti rendi conto che tipicamente invierai tutti i modelli di codice JS e Handlebars a tutti gli utenti, indipendentemente dalle autorizzazioni. Questo di solito non è un problema in quanto non sono presenti informazioni sensibili nel JS o nei modelli, ma qualcosa da tenere a mente.

Aggiornamento:

sono diventato un fan del nuovo [torii][1] biblioteca per fornire alcune primitive semplici per trattare con l'autenticazione anche con servizi di terze parti.

+0

Grazie Luca, apprezzo la risposta completa. – Chaddeus