首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我应该在每个表中放置注册用户信息吗?仅限制用户访问自己的数据

问我应该在每个表中放置注册用户信息吗?仅限制用户访问自己的数据
EN

Database Administration用户
提问于 2019-05-25 03:42:28
回答 1查看 93关注 0票数 0

数据库:关系数据库- MySQL

我正在用多个表建立一个数据库。为了从表中查看数据,用户需要登录。我只需要显示那些信息(通过网页)从表中只属于他,所以他将无法访问其他用户的数据。

那么,我应该在每个表中放置注册用户信息吗?因此,当他想查看数据时,我将“从TABLE_ABC where (login_id = Id_of_current_user_log_ined )中选择数据”。我将把这个条件放在每个查询中,这样他只能访问他/她自己的数据,而不是其他人。

我创建了一个关系模式,但是只有一个表从登录表继承登录信息,而其中三个表没有数据属于谁的信息?

EN

回答 1

Database Administration用户

发布于 2019-05-26 00:07:24

对于表级访问限制:

代码语言:javascript
复制
GRANT SELECT ON tbl1 TO 'user'@'...';
GRANT SELECT ON tbl3 TO 'user'@'...';

根据需要对用户和表的每个组合重复。

如果您有较新版本的MySQL,请查看“角色”是否提供了简化。

对于行级访问限制,不要让用户查询表.相反:

  • 提供一个他们联系的应用程序;它在预先形成(或不)所需的查询之前检查权限。
  • 使用存储过程。也请参阅函数CURRENT_USER()
  • 使用VIEW --然后授予对视图的访问权,而不是对表的访问;让视图检查用户是否允许查看行。见OP的评论。
票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/239036

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档