Domanda

Ho semplice sito jQuery Mobile creata usando l'autenticazione asp.net MVC 2 e usi forme di base per consentire l'accesso al sito.

L'applicazione è un diario di lavoro semplice che consente al gestore regionale per visualizzare dettagli sui temi di attualità assegnati ad una squadra regionale.

Quando una connessione mobile è disponibile l'applicazione funziona molto bene, ma a causa della mancanza di segnale in cui abbiamo bisogno di studiare la possibilità di rendere il cuore dell'applicazione disponibile offline. Sono stato alla ricerca la possibilità di prendere l'applicazione in linea utilizzando HTML 5, ma non riesce a trovare alcuna informazione su autenticare gli utenti.

L'applicazione è molto semplice e ha essenzialmente due diverse schermate degli elenchi che punta nei dettagli del lavoro.

1. Login    
    1.1 Job List    
        2. Job Details

    1.2 Team Diary    
        2. Job Details

Credo che sarebbe stato abbastanza facile per creare una versione offline dei dati che permettano la navigazione del diario, quando la connessione non è disponibile, ma non riesco a trovare tutte le informazioni su un sito che richiede l'autenticazione prima che arrivi alle pagine che sono autorizzati a essere preso offline.

Il contenuto non è dati sensibili, ma, ovviamente, il cliente non vuole che nessuno sia in grado di sfogliare il diario di lavoro su quello che è un sito web di fronte a pubblico.

Qual è il modo preferito di autenticazione degli utenti in un sito che potrebbe potenzialmente essere usato offline?

È stato utile?

Soluzione

Sono riattrezzare un sito MVC3 per l'utilizzo offline e sto in esecuzione in alcuni degli stessi problemi.

Una cosa avete bisogno di guardare fuori per è che i tentativi browser per scaricare tutti i file elencati nella cache.manifest immediatamente. Ciò causa un problema se l'utente non è connesso in ancora e si dispone di un reindirizzamento classico a una pagina di login, se l'utente non è autenticato. Sarà necessario aprire una vista "statica" di queste pagine per l'accesso del pubblico e lasciare che a determinare il tuo JavaScript se l'utente è loggato o meno prima di tentare di recuperare / aggiornamenti di invio. In questo modo le pagine statiche non di contenuti da scaricare dal browser e permettere che la tua JavaScript per gestire il contenuto, se necessario.

La mia app utilizza un metodo preso in prestito da Jim Lehmer per rilevare in linea connettività .

Una volta che troviamo siamo collegati ho creato un po 'di azione nel mio controller account che piacevolmente restituisce se l'utente è autenticato o meno:

    public JsonResult IsAuthenticated()
    {
        return Json(new { Request.IsAuthenticated }, JsonRequestBehavior.AllowGet);
    }

Speranza che aiuta!

Altri suggerimenti

Ah. Vedo quello che stai chiedendo ora. Vorrei suggerire come segue.

Quando l'utente accede prima l'applicazione, si verifica la presenza di dati locali (i dati locale corretta?), E se non esiste che i dati locali, quindi assumere l'utente ha accesso al sistema. Ora, verificare la presenza di una connessione ad internet, se esiste chiedere credenziali appropriate, se non il lavoro di collegamento non in linea. Così essi possono lavorare tranquillamente offline.

Una volta che l'utente riacquista una connessione a Internet, prima della sincronizzazione locale con a distanza, chiedere all'utente le proprie credenziali. Nel caso che in origine avevano la connettività internet, l'applicazione sarà senza dubbio conservare qualche segno della loro corretta autenticazione e può sincronizzare senza dubbio. In caso contrario, per chiedere una password ora.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top