对于使用 PhoneGap 和 Sencha Touch 的应用程序以及带有 Active Directory 的 .NET 中的服务器的身份验证机制,我希望得到您的反馈。
因此我们需要在移动设备上存储用户凭据,这样用户就不必在每次希望使用该应用程序时重新输入登录名和密码。
01 - 创意 - Cookie
据我了解,Sencha Touch 没有直接用于管理 Cookie 的任何库。 为了使用 cookie,我应该安装“Sencha Ext Js”Sencha 的基础库并使用 Ext.util.Cookies 类。这个库不应该是免费的。
关于使用 cookie 和 IOS 安全问题,我担心 CROS 域仍然存在问题。
此外,Phonegap 不提供任何 cookie 抽象,因为已经有很多其他工具可以做到这一点(Phonegap 只包含智能手机功能,而不是基本的浏览器功能)。 我可以使用 potenticalyy jQuery,也许可以试试 jquery-cookie 插件。
02 - IDEA - HTML5 本地存储
Sencha Touch 为 HTML5 本地存储提供了一个 API,因此我可以将凭据保存在本地存储中,而不是编写 cookie。 即使设备已关闭,浏览器也应将本地数据保留一段未定义的时间。 当用户点击应用程序时,我可以获取本地数据并发送到服务器,服务器将对用户进行身份验证。
尽管有这种机制,但我还是遇到了安全问题。 一种) - 将用户名和密码以纯文本形式存储在 Cookie 或本地存储中,然后转发到服务器。 不涉及加密,认证应该有效。缺点:读取 Cookie 和本地存储非常容易,因此它不是安全的最新技术水平。
乙) - 我将用户名存储为纯文本,而不是密码,我将“表单例份验证票”存储在 Cookie 或本地存储中并转发到服务器。 服务器上的加密涉及“表单例份验证票”。优点:安全性高,缺点:需要时间来开发它。 注意:安全性,使用服务器的 Machine.config 文件的配置元素对票证进行加密。
我的问题:
- 您对这种情况有任何经验吗?
- 您有更好的方法吗?
最佳答案
几天前我将简单登录项目发布到github ,您可能会发现它很有帮助。它适用于 Webkit 浏览器和 iPhone。 Android 未经过测试。
关于javascript - Sencha Touch 和远程服务器上的身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12384150/