Аутентификация пользователя для автономного приложения - PullRequest
2 голосов
/ 29 ноября 2011

У меня есть простой jQuery Mobile сайт, созданный с использованием asp.net mvc 2 и использующий базовые формы аутентификации для предоставления доступа к сайту.

Приложение представляет собой простой рабочий дневник, который позволяет региональному менеджеру просматривать подробную информацию о текущих проблемах, назначенных региональной команде.

Когда мобильное соединение доступно, приложение работает очень хорошо, но из-за отсутствия сигнала нам нужно исследовать возможность сделать ядро ​​приложения доступным в автономном режиме. Я изучал возможность перевода приложения в автономный режим с использованием HTML 5, но не могу найти никакой информации об аутентификации пользователей.

Приложение очень простое и, по сути, имеет два разных экрана списка, в которых подробно рассматриваются детали работы.

1. Login    
    1.1 Job List    
        2. Job Details

    1.2 Team Diary    
        2. Job Details

Я считаю, что было бы достаточно легко создать автономную версию данных, которая позволяла бы просматривать дневник, когда соединение недоступно, но я не могу найти какую-либо информацию о сайте, который требует аутентификации, прежде чем он попадет на страницы которые могут быть отключены.

Содержимое не является конфиденциальной информацией, но, очевидно, клиент не хочет, чтобы кто-либо мог просматривать рабочий дневник на общедоступном веб-сайте.

Каков предпочтительный способ аутентификации пользователей на сайте, который потенциально может использоваться в автономном режиме?

Ответы [ 2 ]

4 голосов
/ 30 ноября 2011

Ах.Теперь я вижу, что вы спрашиваете.Я хотел бы предложить следующее:

Когда пользователь впервые обращается к приложению, он проверяет наличие локальных данных (правильные локальные данные?), И если эти локальные данные существуют, то предположим, что пользователь имеет доступ ксистема.Теперь проверьте подключение к Интернету, если оно существует, запросите правильные учетные данные, если подключение не работает в автономном режиме.Таким образом, они могут счастливо работать в автономном режиме.

Как только этот пользователь восстановит подключение к Интернету, перед синхронизацией локального с удаленным запросите его учетные данные.В случае, если у них изначально было подключение к Интернету, приложение, несомненно, будет хранить некоторые маркеры их правильной аутентификации и может синхронизироваться без вопросов.В противном случае попросите пароль сейчас.

0 голосов
/ 31 января 2012

Я переоснащаю сайт MVC3 для автономного использования и сталкиваюсь с некоторыми из тех же проблем.

Единственное, на что вам нужно обратить внимание, это на то, что браузер пытается немедленно загрузить все файлы, перечисленные в cache.manifest. Это вызывает проблему, если пользователь еще не вошел в систему, и у вас есть классическое перенаправление на страницу входа, если пользователь не аутентифицирован. Вам нужно будет открыть «статический» вид этих страниц для публичного доступа и позволить вашему JavaScript определить, вошел ли пользователь в систему или нет, прежде чем пытаться получить / отправить обновления. Это позволит браузеру загружать статические страницы без содержания и позволит вашему JavaScript управлять содержимым по мере необходимости.

Мое приложение использует метод, заимствованный у Джима Лемера, для обнаружения онлайн-соединения .

Как только мы обнаружим, что мы подключены, я создал небольшое Действие в контроллере своей Учетной записи, которое приятно возвращает, аутентифицирован ли пользователь или нет:

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

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...