每个多个用户的 IndexedDb

2024-04-07

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

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

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

是否有管理这种情况的最佳实践?因为现在我看到有两个选择:

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

Thanks,


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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

每个多个用户的 IndexedDb 的相关文章

  • HTML5 Web 存储抽象库

    根据我对 HTML5 中 Web 存储的了解 有许多不同的存储选项 不同浏览器的支持也不同 是否有任何流行的库用于在 HTML5 应用程序中抽象 Web 存储 有几个基于 YUI 的库用于抽象底层存储 YUI 2 存储实用程序 http d
  • iPad 上的 iOS (Safari) 中 Web SQL DB 的最大大小是多少?本地存储怎么样?

    使用HTML5的Web SQL在iPad本地存储数据时最大数据大小是多少 当你达到这个值时 它是否只是提示用户增加它 这是一个简单的是 否许可请求吗 如果是这样 硬限制是什么 超出该限制 用户甚至没有允许其扩展的选项 LocalStorag
  • 本地数据库 API - 已弃用 有什么替代方案? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 从多个 JavaScript 线程访问 IndexedDB

    概述 我试图避免从网页和网络工作人员访问 IndexedDB 时出现竞争情况 Setup 当用户使用站点时将项目保存到本地 IndexedDB 的网页 每当用户将数据保存到本地数据库时 记录就会被标记为 未发送 Web worker 后台线
  • 如何在 Vue js 中使 localStorage 中的数据响应

    我在 Vue js 项目中使用 localStorage 作为数据源 我可以读写 但找不到反应性使用它的方法 我需要刷新才能看到我所做的任何更改 我使用数据作为多个组件的道具 当我写入时localStorage从我触发的组件forceUpd
  • 从 webWorker 访问 localStorage

    WebWorker 可以访问 localStorage 吗 如果不是为什么不呢 从安全角度来看有问题吗 Web Worker 只能访问以下内容 XMLHttpRequest https developer mozilla org en US
  • navigator.webkitPersistentStorage.requestQuota 是否适用于 IndexedDB?

    使用今天最新版本的 Android Chrome 我可以使用以下命令请求持久性 IndexedDB 存储吗 navigator webkitPersistentStorage requestQuota var requestedBytes
  • 为什么连接到indexedDB时,有时会在onupgradeneeded之前调用onsuccess?

    我在使用 IndexedDB 时遇到问题 在 Firefox 18 上 当我创建新数据库时 onsuccess方法同时被调用有onupgradeneeded 在 Chrome 24 上 这是我想要的行为 onsuccess方法仅在之后调用o
  • 如何清除 Internet Explorer 8 中的本地存储值

    我使用 IE8 和 jstorage 库来存储数据来代替 cookie 这一切都很好 直到我想清除存储的值 在 Chrome 中 可以通过导航到内容设置页面来实现此操作 然而 在 IE8 中 它仅提供清除 cookie 的选项 而不会清除我
  • IndexedDB - 什么是 Key、keyPath 和 indexName?

    我来自MySQL 习惯了传统的数据库表方案 我无法理解 IndexedDB 及其一些术语 我在文档中查找了这些定义 Key一种数据值 通过它在对象存储中组织和检索存储的值 索引名称要创建的索引的名称 keyPath要使用的索引的键路径 基本
  • 使用离线 HTML5 应用程序包含数据(将填充 IndexedDB)的最佳方式?

    我正在构建一个离线 HTML5 应用程序 它将作为压缩包提供 crx文件 它将被安装and完全离线使用 任何时候都不会有互联网接入 AFAIK 没有办法包含预先填充的 sqlite DB 我知道你不能包含 indexedDB 因此所有数据必
  • 如何在 IndexedDB 中进行 JOIN 类型查询

    我尝试按照以下教程进行操作http hacks mozilla org 2010 06 comparing indexeddb and webdatabase http hacks mozilla org 2010 06 comparing
  • 一小时后如何删除本地存储?

    我的数据是对象 我使用本地存储 javascript 保存它 如下所示 localStorage setItem storedData JSON stringify data 我只想保留该数据 1 小时 因此 如果超过 1 小时 数据将被删
  • Flutter本地数据库存储

    目前我正在创建一个用户注册标准 它有三个注册页面 对于每次完成的用户注册页面 我想将其存储在本地存储中 如果用户在第 3 级注册之前关闭应用程序 我想显示已完成页面的输入详细信息 而无需调用 api 那么 这是在 flutter 中本地存储
  • 删除indexedDB对象存储中特定索引值的所有记录

    对于数组键为的对象存储 a b where a也是一个索引 有没有更有效的方法来删除特定值的所有记录a而不是在索引上打开游标a并通过光标逐步删除每条记录 有没有办法只为索引定义键范围 或者只为索引定义键范围a然后离开b打开任何值 以便可以删
  • 如何同步 Chrome 扩展选项

    我制作了一个带有选项页面的 Chrome 扩展 数据保存在本地存储中并且工作正常 Chrome 不会将本地存储同步到云端 只是将扩展同步 这意味着任何用户数据都不会同步到同一谷歌帐户的其他计算机 我在以下位置找不到 APIhttp deve
  • 未使用的indexeddb数据库是如何清理的

    我使用 IndexedDB 作为本地存储 并且运行良好 由于过于详细的原因 这里无法详细介绍 我经常只创建一个数据库并使用它 但在某些情况下 我需要创建更多数据库 在其中一些情况下 这些额外的数据库可能最终会 孤立 或未使用 并且将来不再需
  • Chrome 应用程序 localStorage 不持久并且 chrome.storage 不工作

    我有一个 chrome Kiosk 应用程序 我需要在机器打开和关闭之间保存数据 几个字节作为字符串 但无论我尝试什么 本地存储似乎在重新启动时都会被擦除 当我转到 chrome inspect apps 检查 Chrome 应用程序时 控
  • “导航器”类型上不存在属性“存储”

    我正在尝试使用以下命令行从 Angular2 组件获取配额存储信息 navigator storage estimate then data gt console log data 该命令在纯 Javascript 脚本中可以正常工作 但无
  • 当应用程序停止使用 Sencha Touch 2.2 和 Phonegap 时,LocalStorage 存储不会保留在 Android 手机上

    这在我的浏览器中工作正常 但是当我在手机上安装该应用程序并使用它时 它看起来很好 直到我强制它停止并重新打开该应用程序 然后我的所有记录都消失了 我正在使用 2 2 和 Phonegap 任何帮助将非常感激 这是我的商店 Ext defin

随机推荐