【问题标题】:IndexedDb per multiple users每个多个用户的 IndexedDb
【发布时间】:2014-11-21 17:45:09
【问题描述】:

我有一个关于 IndexedDb 最佳实践的问题,即如何管理不同用户的数据。

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

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

是否有管理此类场景的最佳实践?因为现在我看到了 2 个选项:

  1. 在注销和登录操作中始终清除 indexeddb 数据。缺点是在这种情况下,每次用户登录系统时,我都需要执行完全同步。
  2. 摆脱 IndexedDb,因为它不应该用于该场景并直接从 mysql 获取数据。
  3. ??

谢谢,

【问题讨论】:

    标签: local-storage indexeddb


    【解决方案1】:

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

    【讨论】:

    • 这种方法的问题是,如果用户注销,他们希望数据无法访问。但是,任何有权访问浏览器的人现在都可以查看数据。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-30
    • 1970-01-01
    • 2013-05-06
    • 1970-01-01
    • 2011-08-29
    • 2014-02-18
    相关资源
    最近更新 更多