JQuery Mobile - оптимальная практика входа в систему

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

Меня не так волнует аутентификация на стороне сервера, а скорее то, как реализовать ее на стороне пользователя.

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

  1. Стандартная отправка формы с POST \ перенаправлением:
    -Отключить автоматический ajax с data-ajax = "false"
    -Пользователь отправляет, проверяет учетные данные на сервере, затем отправляет перенаправление в приложение в случае успеха или обратно на страницу входа в систему в случае ошибки.

  2. Метод Ajax с $. Mobile.changePage
    -Отправка имени пользователя / пароля через Ajax
    -В зависимости от ответа либо добавьте первую страницу приложения с помощью $. Mobile.changePage , либо отобразите сообщение об ошибке

  3. Ajax-метод с помощью window.location.replace
    -По аналогии с вариантом 2, за исключением использования window.location.replace для добавления первой страницы Ajax-метода приложения

  4. с помощью POST; перенаправление только при неудачном входе в систему
    -Держите включенным ajax для отправки форм.
    -На стороне сервера объедините функцию аутентификации пользователя со страницей входа вашего приложения таким образом, чтобы она выполнялась только в том случае, если заданы поля формы.
    -При успешном входе в систему верните главную страницу приложения.
    -При неудачном входе в систему перенаправьте обратно на страницу входа.
    -Если значения формы не заданы, проверьте правильность входа пользователя в систему и затем верните страницу стандартного вывода. Если вы не вошли в систему, перенаправьте обратно для входа в систему.

Некоторые соображения:
-Он должен использовать POST, чтобы избежать добавления данных для входа в URL
- Поддержание правильной работы кнопки «Назад», чтобы навигация была удобной для пользователя, кажется довольно сложной задачей.
-Я хотел бы максимально упростить процесс с минимальным количеством перезагрузок страниц

Есть идеи?

РЕДАКТИРОВАТЬ:
Я нашел 4-й метод, который может быть лучшим подходом. Это позволяет избежать проблем с функциональностью кнопки «Назад», возникающих из-за метода POST / перенаправления. Если пользователь аутентифицируется с первой попытки, плавный переход между страницами сохраняется все время. В противном случае процесс перехода между страницами будет постоянно поддерживаться после успешного входа в систему. Более того, все встроенные функции обработки ошибок JQM остаются доступными.

10
задан user1091949 11 February 2012 в 07:36
поделиться