IndexedDb文件位置可以是共享位置

问题描述 投票:2回答:2

我有一个员工在断开模式下使用的渐进式Web应用程序。他们扫描商店中的库存商品,应用程序搜索本地数据以查找扫描的商品(indexedDb数据存储区有大约50万条记录)。

这些数据完全与月度同步,每天通过api调用增加。

扫描多个项目后,笔记本电脑已连接并上传扫描。这是有效的,但现在有多个人共享同一台计算机,每台计算机都有自己的登录名。这要求每个用户拥有自己的indexedDb。据我所知,indexedDb文件存储在每个用户的user / AppData文件夹下。

有没有办法在同一台机器上的用户之间共享相同的indexedDb实例?或者我可以选择每个用户拥有一个实例或使用不同的技术。任何建议表示赞赏。

indexeddb progressive-web-apps
2个回答
2
投票

开箱即用,这是行不通的。这不是你所描述的:

indexedDb文件存储在每个用户的user / AppData文件夹下

更具体地说,IndexedDB数据存储在浏览器配置文件文件夹中。对于某些浏览器,用户和配置文件之间没有一对一的关系。通常这种区别并不重要,但它可以为您的问题提供答案!

一般的想法是:

  1. 创建将用于此应用程序的配置文件。
  2. 找出使用该配置文件启动浏览器的命令(通过命令行传入,和/或如果配置文件夹必须位于每个用户的特定文件夹中,则使用符号链接)。
  3. 让您的用户使用该命令打开浏览器以与您的应用程序进行交互,否则他们将无法访问共享的IndexedDB数据库。

显然这是一个可怕的黑客攻击,但我认为应该可以使它成功。


0
投票

IndexedDB允许您存储和检索使用“密钥”编制索引的对象。您对数据库所做的所有更改都发生在事务中。与大多数网络存储解决方案一样,IndexedDB遵循同源策略。因此,虽然您可以访问域中的存储数据,但您无法跨不同域访问数据。

如果您在同一台计算机上有多个用户,每个用户使用相同的浏览器并访问相同的源,则可以在同一个indexedDB数据库中轻松存储不同用户的信息。

但任何人都可以检查数据库的内容,任何用户都可以删除其中的所有数据。

© www.soinside.com 2019 - 2024. All rights reserved.