7

Alcuni modelli di applicazione per pagina singola (SPA) in MV2 VS2012 dispongono di autenticazione integrata. HotTowel SPA Template no.Come impostare la vista di accesso (autenticazione dell'utente) nel modello SPA HotTowel?

Qual è il modo corretto di implementare l'autenticazione utente (schermata di accesso) in SPA HotTowel? HotTowel utilizza Durandal JS, quindi credo che la questione è davvero come implementare l'autenticazione utente con Durandal JS

+0

Che tipo di autenticazione stai cercando? –

+2

Come semplice, come può essere. Solo per autenticare gli utenti contro i nomi utente e le password salvati nel database. Dopo il login riuscito verrà caricato SPA. – mitaka

+0

Stavo pensando anche alla sicurezza. L'uso di [ValidateAntuForgeryToken] con il controller Breeze.js, ma questa è una parte di un'altra domanda. – mitaka

risposta

4

Sembra che il gruppo Durandal JS Google avere alcune risposte, ma non il codice di esempio concreto.

Authentication with Durandal

Looking to add authentication to the SPA sample, but keep it an SPA

idee Mauro Servienti:

mio backend espone un servizio (WebAPI nel mio caso) in cui v'è un GetCurrentUser operazione.

Quindi, nel mio file main.js, nell'app.Start() quindi richiamare prima di chiamare app.setRoot invio una chiamata al backend che chiede, async, per l'utente se il risultato è un utente valido, ho impostato la radice alla shell dell'app principale altrimenti imposto la radice sulla shell di login.

Qual è il problema? Dal punto di vista del lato client l'autenticazione è solo una "bandiera" che dice: ok, so chi sei. È possibile sfruttare la potenza di FormsAuthentication e convivere con esso, quindi esporre un'azione GET WebAPI che consente di recuperare informazioni sull'utente attualmente registrato.

0

Come direbbe John Papa, HotTowel è solo un modello :). Infatti, nel suo secondo corso su SPA in Pluralsight, crea l'applicazione da zero.

Non sarebbe sufficiente per avviare l'app da un modello SPA e quindi aggiungere il resto delle librerie che HotTowel ha (Durandal, Breeze, ecc.)?

Si può vedere il confronto qui asp.net spa templates

12

ho creato un modello di avviamento con l'autenticazione e l'autorizzazione incluso

Forse potrebbe aiutare ...

Github =>https://github.com/yagopv/durandalauth

sito di esempio = >https://durandalauth.azurewebsites.net/

+0

nell'app durandaleuth, come sei riuscito a salvare il token di json web? Sta usando le sessioni di asp.net o cookie sul lato client? –

+1

Utilizza l'archiviazione locale o di sessione. Se dai un'occhiata a https://github.com/yagopv/DurandalAuth/blob/master/DurandalAuth.Web/App/services/appsecurity.js, puoi vedere i dettagli. Le seguenti funzioni si occupano della gestione dell'archiviazione locale [getSecurityHeaders(), setAccessToken (accessToken, persistent), clearAccessToken()]. È necessario includere le intestazioni in ciascuna richiesta Ajax utilizzando getSecurityHeaders(). Ciao!! – yagopv

+0

Guardando le tue cose, vuoi un utente e una password hard coded per il tuo database in web.config? Inoltre potresti voler includere gli script di creazione del database in modo che possiamo eseguire sul nostro database :) Roba carina finora altrimenti. –

Problemi correlati