【问题标题】:MySQL Multiusers with the same database具有相同数据库的 MySQL 多用户
【发布时间】:2021-07-01 14:03:31
【问题描述】:

我正在使用 HTML、Javascript 和 MySQL 为 pwa 创建一个数据库结构。我想在同一个数据库中注册多个用户,但我真的不知道如何控制对不同行的访问。

我的实际数据库结构是:Image

我需要做什么才能只向多个用户显示所有者行?

选项 1:我需要为所有带有用户令牌的表创建一个 token_id 行吗?

示例: Image

选项 2: 或者最好为每个用户创建多个所有表?

例如:Image

(在这种情况下,我有两个用户,user1_token = 123 和 user2_token = 456)

抱歉,我无法上传图片,也无法将其粘贴到 URL(发生错误)

两个选项哪个更好?或者还有其他的 MySQL 解决方案?

编辑 我不知道人们是否在编辑后阅读了这篇文章,但我想说一件事。经过大量搜索后,我无论如何都找不到从表中读取寄存器的安全方法,而不会让黑客访问其他数据。 我决定创建几个名称与 user_id 关联的表。无论如何,所有人都可以使用永久数据访问表格。 谢谢大家。

【问题讨论】:

  • 天哪!为什么人们投票反对我?
  • 可能他们认为太笼统,与 javascript 无关
  • 好的,抱歉。我是新来的,有时很难理解。感谢您的建议,我删除了一些标签。

标签: mysql sql database


【解决方案1】:

绝对是选项 1,向每个表添加一个 user_id 列。您需要在应用程序代码中处理用户登录,一旦用户登录,您只过滤与用户关联的数据。据推测,用户只能查看/编辑自己的数据。用户令牌可能用于身份验证/授权,但根据您的设置,您可能希望区分 used_id 和 user_token。

【讨论】:

  • 好的,谢谢。但是想要访问其他用户注册修改我的查询的人有什么问题吗?或者我可以控制它?
  • 因为 MySQL 有任何用户管理来控制对同一表中某些行的访问?还是我需要以编程方式进行?
  • 对于像 mysql 这样的经典数据库,您需要在您的应用程序中以编程方式进行操作。从 mysql 的角度来看,您的应用程序可以访问所有数据,您可以限制用户访问您应用程序中的数据。
  • 这意味着我不能用我的查询来控制它所有的数据访问?什么是一个很好的替代数据库,我可以做到这一点?我可以使用其中任何一个,所以我还没有启动应用程序。
猜你喜欢
  • 2013-08-05
  • 2018-12-18
  • 2015-02-27
  • 2013-12-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-06-21
相关资源
最近更新 更多