5

我想就使用 PhoneGap 和 Sencha Touch 的应用程序的身份验证机制以及带有 Active Directory 的 .NET 中的服务器获得您的反馈。

因此,我们需要在移动设备上存储用户凭据,这样用户就不必在每次希望使用应用程序时重新输入登录名和密码。

01 - IDEA - 饼干

据我了解,Sencha Touch 没有直接用于管理 Cookie 的库。为了使用 cookie,我应该安装 Sencha 的基础库“Sencha Ext Js”并使用 Ext.util.Cookies 类。这个库不应该是免费的。

我担心 CROS 域在使用 cookie 和 IOS 安全问题方面仍然存在问题。

此外,Phonegap 不提供任何 cookie 抽象,因为已经有很多其他工具可以做到这一点(Phonegap 只是封装了智能手机功能,而不是基本的浏览器功能)。我可以使用潜在的 jQuery,也许可以尝试 jquery-cookie 插件。

02 - IDEA - HTML5本地存储

Sencha Touch 为 HTML5 本地存储提供了一个 API,因此我可以将凭据保存在本地存储中,而不是编写一个 cookie。即使设备关闭,浏览器也应将本地数据保留一个未定义的数量。当用户单击应用程序时,我可以将本地数据发送到服务器,服务器将对用户进行身份验证。

尽管有这种机制,但我还是有安全问题。A) - 将用户名和密码作为纯文本存储在 Cookie 或本地存储中并转发到服务器。不涉及加密,身份验证应该工作。缺点:很容易读取 Cookie 和本地存储,因此它不是最先进的安全性。

B) - 我将用户名存储为纯文本,而不是密码,我将“表单身份验证票”存储在 Cookie 或本地存储中并转发到服务器。“表单身份验证票证”涉及服务器上的加密。优点:高安全性,缺点:需要时间来开发它。注意:安全性,票证使用服务器的 Machine.config 文件的配置元素进行加密。


我的问题:

  • 您对这种情况有任何经验吗?
  • 你有更好的方法吗?
4

1 回答 1

3

前几天我在github上发布了 Simple Login 项目,你可能会发现它很有帮助。它适用于 Webkit 浏览器和 iPhone。安卓没有测试。

于 2012-09-12T20:41:06.857 回答