Я создаю мобильный интерфейс с JQuery Mobile для уже существующего веб-приложения, которое требует аутентификации пользователя, и я не могу найти оптимальный подход для внедрения процесса входа в систему.
Я не очень беспокоюсь об аутентификации на стороне сервера, а о том, как реализовать его на стороне пользователя.
После некоторых экспериментов кажется, что параметры:
-
Стандартная форма отправить с помощью POST\redirect:
-Отключить автоматический ajax с помощьюdata-ajax="false"
-User отправляет, проверяет учетные данные на сервере, а затем перенаправляет приложение на успех или возвращается на страницу входа при ошибке. -
Метод Ajax с
$.mobile.changePage
-Отправить имя пользователя /passwd через Ajax
-В соответствии с ответом добавьте первую страницу приложения с помощью$.mobile.changePage
или отобразите сообщение об ошибке -
Метод Ajax с
window.location.replace
-Используйте вариант 2, за исключением использованияwindow.location.replace
, чтобы добавить главную страницу приложения -
Метод Ajax с POST; перенаправлять только при неудавшемся входе в систему
-Keep ajax включен для отправки форм.
- На стороне сервера объедините функцию проверки подлинности пользователя со страницей входа в приложение таким образом, чтобы она выполнялась только в том случае, если установлены поля формы.
-В успешном входе в систему, верните первую страницу приложения.
-На неудавшемся входе в систему, перенаправляйте обратно на страницу входа.
-Если значения формы не установлены, проверьте, правильно ли зарегистрирован пользователь, а затем верните стандартную страницу вывода. Если вы не вошли в систему, перенаправите обратно в систему.
Некоторые соображения:
-Он должен использовать POST, чтобы не добавлять данные для входа в URL-адрес
-Узначение правильной функциональности кнопки "Назад", так что навигация удобна для пользователя, кажется, довольно сложной.
- Я хотел бы сделать поток процесса максимально простым с максимально возможной перезагрузкой страниц
Любые идеи?
EDIT:
Я нашел 4-й метод, который может быть лучшим подходом. Это позволяет избежать проблем с функциональными возможностями кнопки обратной связи, возникающих в результате метода POST/перенаправления. Если пользователь выполняет аутентификацию с первой попытки, плавный переход на страницу сохраняется в течение всего времени. Если нет, поток перехода страницы будет постоянно поддерживаться после успешного входа в систему. Кроме того, все функции JQM, встроенные в функции обработки ошибок, остаются доступными.