数据库:关系数据库- MySQL
我正在用多个表建立一个数据库。为了从表中查看数据,用户需要登录。我只需要显示那些信息(通过网页)从表中只属于他,所以他将无法访问其他用户的数据。
那么,我应该在每个表中放置注册用户信息吗?因此,当他想查看数据时,我将“从TABLE_ABC where (login_id = Id_of_current_user_log_ined )中选择数据”。我将把这个条件放在每个查询中,这样他只能访问他/她自己的数据,而不是其他人。
我创建了一个关系模式,但是只有一个表从登录表继承登录信息,而其中三个表没有数据属于谁的信息?
发布于 2019-05-26 00:07:24
对于表级访问限制:
GRANT SELECT ON tbl1 TO 'user'@'...';
GRANT SELECT ON tbl3 TO 'user'@'...';根据需要对用户和表的每个组合重复。
如果您有较新版本的MySQL,请查看“角色”是否提供了简化。
对于行级访问限制,不要让用户查询表.相反:
CURRENT_USER()VIEW --然后授予对视图的访问权,而不是对表的访问;让视图检查用户是否允许查看行。见OP的评论。https://dba.stackexchange.com/questions/239036
复制相似问题