PhoneGap - 针对远程网站进行身份验证的方法?

时间:2010-11-14 17:11:05

标签: iphone ajax asynchronous cordova

我第一次玩PhoneGap。我想做以下事情:

在index.html文件中创建一个登录UI,如下所示:

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

用户界面将显示在iPhone上。当用户单击登录按钮时,我想对网站http://mysite.com/login进行异步身份验证。如果身份验证失败,则用户将保留在index.html UI上。如果身份验证成功,用户将看到在dashboard.html中找到的新UI,如下所示:

<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,webservice,还有什么?

3)我是否仍然可以在服务器端使用SESSION来维护用户会话数据,如user_id,角色,权限等...这样客户端机器不必每次异步调用都传输这些数据?

2 个答案:

答案 0 :(得分:9)

  1. 好方法
  2. 我建议用json回复ajax
  3. 是的,你仍然可以使用会话变量
  4. 最后请记住,phonegap应用程序实际上只是一个在phonegap创建的容器中运行的网页。

    这是用于登录运行SSL的系统的phonegap plugin I wrote

    优秀PhoneGap Documentation就在这里,不要忘记PhoneGap Wiki也有很棒的东西

答案 1 :(得分:0)

如果没有身份验证,您可以在提交按钮上使用event.preventDefault。 Ajax和json是解决方案..但是如果你在浏览器上进行调试,请仔细考虑跨域策略...在模拟器上进行最佳调试。