是否可以在Web应用程序中缓存受密码保护的内容,以便在离线Web应用程序(iOS / Android)中使用?

时间:2012-08-23 12:25:45

标签: android ios html5 web-applications mobile

基本上就是这个场景:

  • 我有一个移动网络应用
  • 网络应用旁边没有公开的内容,但有登录系统
  • 登录后,用户可以根据自己的喜好访问特定页面

我想做什么:

允许Web应用程序的离线缓存,并根据登录的用户继续提供自定义内容(是的,显然数据将被缓存,用户需要至少登录一次)。

问题:

* 已编辑

基本上我希望能够在线登录,离线登录后访问相同的数据,但是当离线访问Web应用程序时,将没有密码保护。我希望/假设通过使用清单文件我可以让移动浏览器缓存我将作为登录用户看到的数据,然后没有密码要求在离线时重新显示给我?

感谢您提前提供任何帮助:)

2 个答案:

答案 0 :(得分:2)

这是不可能的。缓存只能存储webapp的客户端部分,但登录机制和验证位于服务器端代码中。客户端永远不会记住以前输入的值。

如果您想在离线代码中使用移动设备上的服务,那么您必须编写一个存储凭据和数据的移动应用程序。

答案 1 :(得分:2)

我只是在写一个答案,因为我发现它是可能的。

基本上,解决方案不是在站点的登录页面(或主页)上包含清单文件。登录后(让我们称之为登陆页面)然后提供清单文件,然后允许缓存“受保护”页面。

当用户离线时,webapp会检查它是否在线(客户端),如果它处于离线状态,它将重定向到网站登录页面(如上所述),绕过登录屏幕并提供缓存内容。

此外,我提到用户会根据偏好显示特定内容 - 这是通过使用动态清单文件实现的 - 因此不同用户的浏览器会被告知要缓存不同的页面:)设置这是一个巨大的痛苦但是现在似乎运作良好。

当数据被缓存时,它不一定是100%安全的,但如上所述,如果用户之前已登录过某个特定设备,那么他们可以离线查看内容而无需再次登录 - 这安全程度足以满足我的需求。