PhoneGap - Подход для аутентификации на удаленном веб-сайте? - PullRequest
5 голосов
/ 14 ноября 2010

Я играю с PhoneGap впервые. Я хотел бы сделать следующее:

Создайте пользовательский интерфейс для входа в файл index.html примерно так:

<input id="email">
<input id="password">
<button id="login">Login</button>

Пользовательский интерфейс появится на iphone. Когда пользователь нажимает кнопку входа в систему, я хочу выполнить асинхронную аутентификацию на веб-сайте http://mysite.com/login. Если аутентификация не удалась, пользователь остается в интерфейсе index.html. Если аутентификация успешна, пользователь видит новый пользовательский интерфейс, найденный в dashboard.html, который выглядит так:

<ul>
   <li>task 1</li>
   <li>task 2</li>
   <li>task 3 etc... (asychronously retrieve data from http://mysite.com)</li>
</ul>

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

ТАК мои вопросы:

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

2) Какую асинхронную технологию мне использовать? Ajax, веб-сервис, что-то еще?

3) Могу ли я по-прежнему использовать SESSION на стороне сервера для хранения данных сеанса пользователя, таких как user_id, роли, разрешения и т. Д. Таким образом, клиентский компьютер не должен передавать эти данные при каждом асинхронном вызове?

Ответы [ 2 ]

9 голосов
/ 14 ноября 2010
  1. хороший подход
  2. Я бы предложил ajax с ответом json
  3. Да, вы все еще можете использовать переменные сеанса

Помните, в конце концов, что приложение phonegap - это просто веб-страница, работающая в контейнере, созданном phonegap.

Вот плагин phonegap, который я написал для входа в систему с SSL

Отлично Документация PhoneGap здесь, и не забудьте, что PhoneGap Wiki тоже имеет отличные вещи

0 голосов
/ 08 ноября 2012

Вы можете использовать event.preventDefault для кнопки отправки в случае отсутствия аутентификации. Ajax и json - это решение. Но будьте осторожны с междоменной политикой, если отлаживаете в браузере ... лучше всего отлаживать в эмуляторе.

...