Sencha Touch和远程服务器上的身份验证

时间:2012-09-12 08:33:59

标签: javascript .net authentication sencha-touch-2 cors

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

因此,我们需要在移动设备上存储用户凭据,以便用户每次希望使用该应用程序时都不必重新输入Login和Psw。

01 - IDEA - Cookies

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

对于使用Cookie和IOS安全问题,我担心CROS域仍然存在问题。

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

02 - IDEA - HTML5本地存储

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

尽管有这种机制我还有安全问题。 一个) - 将UserName和Pasword作为纯文本存储在Cookie或本地存储中并转发到服务器。   不涉及加密,验证应该有效。缺点:读取Cookies和本地存储非常容易,因此安全性不是最先进的。

B) - 我将UserName存储为纯文本,而对于Pasword,我将“Forms身份验证票证”存储在Cookie或本地存储中并转发到服务器。   “表单身份验证票证”涉及服务器上的Ecryption。 PRO:高安全性,缺点:花时间开发它。   注意:安全性,使用服务器的Machine.config文件的配置元素加密票证。


我的问题:

  • 你对这种情况有什么经验吗?
  • 你有更好的方法吗?

1 个答案:

答案 0 :(得分:3)

前几天我已将简单登录项目发布到github,您可能会发现它很有帮助。它适用于Webkit浏览器&在iPhone上。 Android未经过测试。