我有一个关于 IndexedDb 最佳实践的问题,即如何管理不同用户的数据。
场景:我有一个包含系统数据的 mysql 数据库。当用户登录系统时,我将他的数据从 mysql 同步到 IndexedDb,然后 Web 应用程序使用直接存储在 indexeddb 中的数据。当用户下次登录系统时,不需要完全同步,因为他的数据已经存储在本地。
问题是当用户注销,然后在同一台计算机上另一个用户登录到系统时,因为 IndexedDb 包含以前用户的数据。
是否有管理此类场景的最佳实践?因为现在我看到 2 个选项:
谢谢,
最佳答案
我采用的做法是不要在同一台机器上存储多个帐户。这是一种安全风险,可能允许某人查看他们无权查看的帐户中的数据。相反,当我检测到用户注销然后另一个用户重新登录时,我会在保存新用户的数据之前删除当前缓存的数据。如果一个人退出并且同一用户重新登录,我永远不会删除他们的数据。只有当用户更改时它才会被删除。
关于local-storage - 每个多个用户的 IndexedDb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27067267/