gpt4 book ai didi

c - 如何在 SQLite 中启用访问控制?

转载 作者:行者123 更新时间:2023-12-03 17:36:23 25 4
gpt4 key购买 nike

我们有一个使用 SQLite 作为嵌入式 RDBMS 的应用程序。最初,该应用程序是为单机和单用户设计的。但随着时间的推移,该项目的范围已经扩大。现在我们需要的功能之一是 Fine grained access control.

现在如 Appropriate Uses For SQLite 中所述

... SQLite has had to sacrifice other characteristics that some people find useful, such as high concurrency, fine-grained access control, a rich set of built-in functions...



而在这个 forum post

sqlite doesn't have usernames and passwords. you can't secure the data files in that manner.



因此,从上面很明显,访问控制不可用。在某种程度上它是有意义的,因为它主要用于移动应用程序、浏览器或任何需要嵌入式数据库的地方。

据此 SO post可以加密数据库。但据我所知,我无法将其描述为 fine grained access control因为 SQLite 数据库绑定(bind)到单个加密 key 。此外,我不能拥有多个用户并具有不同的访问级别。

Now my question are:
  • 无论如何都可以在 SQLite 中启用访问控制吗? (我可能已经回答了我的问题,但为了我内心的满足,我还是问这个问题:))
  • 是我对fine grained access control的理解吗?与加密有关是否正确?
  • 假设我对单台机器和单用户使用加密,那么与真正的 fine grained access control 相比,它的缺点是什么? ? (性能可能是其中之一,因为我们必须为每个连接解密它......不确定)

  • Some Useful Information
  • 我们正在使用最新版本的 SQLite。
  • SQLite 作为源代码的一部分嵌入。
  • 在其全部容量中,我们可以期待一个大小为 1 GB 或左右的数据库。

  • 注:我知道使用任何其他可以访问控制的 RDBMS 都很好,但问题非常具体到 。 SQLite .请从这个角度回答他们。谢谢。

    最佳答案

    SQLite 中没有访问控制(意思是 GRANT/REVOKE 表级访问控制)。您必须通过应用程序代码提供所需的任何访问控制。加密仅在最粗略的级别提供访问控制——您可以访问或不访问数据库。

    关于c - 如何在 SQLite 中启用访问控制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8126273/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com