Question

J'ai site simple jQuery Mobile créé à l'aide asp.net mvc 2 et utilise l'authentification des formulaires de base pour autoriser l'accès au site.

L'application est un journal de travail simple qui permet à un directeur régional de voir les détails sur les problèmes actuels affectés à une équipe régionale.

Quand une connexion mobile est disponible l'application fonctionne très bien, mais en raison d'un manque de signaux nous avons besoin d'étudier la possibilité de faire le noyau de l'application disponible hors connexion. J'ai fait des recherches la possibilité de prendre l'application hors ligne en utilisant HTML 5 mais ne peut pas trouver aucune information sur l'authentification des utilisateurs.

L'application est très simple et a essentiellement deux écrans de liste différents qui drill dans les détails du travail.

1. Login    
    1.1 Job List    
        2. Job Details

    1.2 Team Diary    
        2. Job Details

Je crois qu'il serait assez facile de créer une version hors ligne des données qui permettent de naviguer du journal lorsqu'une connexion est pas disponible, mais je ne peux pas trouver aucune information sur un site qui requiert une authentification avant qu'il ne soit aux pages qui sont autorisés à être mis hors ligne.

Le contenu n'est pas des données sensibles mais il est évident que le client ne veut pas que quelqu'un puisse parcourir le journal de travail sur ce qui est un site Web public face.

Quelle est la meilleure façon d'authentifier les utilisateurs dans un site qui pourrait potentiellement être utilisé hors ligne?

Était-ce utile?

La solution

Je rééquiper un site MVC3 pour une utilisation hors connexion et je suis en cours d'exécution dans certains des mêmes problèmes.

Une chose que vous devez surveiller est que les tentatives de navigateur pour télécharger tous les fichiers répertoriés dans le cache.manifest immédiatement. Cela pose un problème si l'utilisateur est pas encore connecté et vous avez une redirection vers une page classique de connexion si l'utilisateur n'est pas authentifié. Vous aurez besoin d'ouvrir une vue « statique » de ces pages à l'accès du public et laissez votre JavaScript déterminer si l'utilisateur est connecté ou non avant de tenter de récupérer / mises à jour envoi. Cela permettra aux pages non contenu statique à télécharger par le navigateur et permettre à votre JavaScript pour gérer le contenu nécessaire.

Mon application utilise une méthode empruntée Jim Lehmer pour détecter la connectivité en ligne .

Une fois que nous constatons que nous sommes connectés, je créé un peu d'action dans mon contrôleur de compte que si joliment le rendement l'utilisateur est authentifié ou non:

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

L'espoir qui aide!

Autres conseils

Ah. Je vois ce que vous demandez maintenant. Je suggère comme suit.

Lorsque l'utilisateur accède d'abord l'application, il vérifie l'existence de données locales (les données locales correctes?), Et si les données locales existe, suppose que l'utilisateur a accès au système. Maintenant, vérifier une connexion Internet, si elle existe demander des informations d'identification appropriées, si aucune ligne de travail de connexion. Ils peuvent ainsi travailler heureusement hors ligne.

Une fois que l'utilisateur retrouve une connexion à Internet, avant la synchronisation locale avec télécommande, demander à l'utilisateur de leurs lettres de créance. Dans le cas où ils avaient à l'origine une connectivité Internet, l'application enregistrera sans doute un gage de leur authentification correcte et peut se synchroniser sans question. Sinon, demandez un mot de passe maintenant.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top