每个用户的IndexedDb

时间:2014-11-21 17:45:10

标签: local-storage indexeddb

我对IndexedDb最佳做法有疑问,如何管理不同的用户'数据。

场景:我有一个包含系统数据的mysql数据库。当用户登录系统时,我将他的数据从mysql同步到IndexedDb,然后Web应用程序使用直接存储在indexeddb中的数据。当用户下次登录系统时,不需要完全同步,因为他的数据已经存储在本地。

问题是当用户注销,然后在同一台计算机上时,另一个用户登录系统,因为IndexedDb包含以前用户的数据。

管理此类方案有什么最佳做法吗?因为现在我看到两个选项:

  1. 在注销和登录操作上始终清除indexeddb数据。缺点是,在这种情况下,每次用户登录系统时,我都需要执行完全同步。
  2. 摆脱IndexedDb,因为它不应该用于那个场景并直接从mysql获取数据。
  3. ? < - 请大家知道如何在每次用户登录时避免完全同步,并保证其他用户数据免于阅读。
  4. 谢谢,

2 个答案:

答案 0 :(得分:0)

为什么不为每个用户创建数据库,比如在数据库名称中粘贴用户名?

答案 1 :(得分:0)

我采用的做法是不在同一台机器上存储多个帐户。这是一种安全风险,可能允许某人查看他们无权访问的帐户中的数据。相反,当我检测到用户注销然后另一个用户重新登录时,我会在保存新用户的数据之前删除当前缓存的数据。如果一个人退出并且同一个用户重新登录,我从不删除他们的数据。它只会在用户更改时被删除。