拥有包含以下内容的数据库
id | userid | name
1 | 1 | John
2 | 1 | John
3 | 2 | Joe
4 | 2 | Joe
5 | 2 | Joe
6 | 3 | Sue
7 | 3 | Sue
我需要一种可以创建数据库,然后创建用户的方法。我在mysql中创建的每个用户都限制他们访问其userid的数据。数据库中的每个数据库表都具有userid值。
所以他们是在阅读,更新,插入还是删除。如果它通过我附加到该数据库的特定mysql用户,我希望该用户只读取,更新,插入或删除其用户ID所在的位置。
我已经阅读了一些关于mysql触发器的东西,但是没有发现任何对我有用的东西。
我们有一个后端,其中包含数据并受userid限制。
该网站根据用户ID select * from articles where userid=1
从该表中提取数据。现在,该代码可由用户修改。我想要一种方法来从文章和mysql中选择*只为那个mysql用户提供userid=1
的行。目标是让每个用户都拥有自己的mysql用户登录到mysql数据库,这将限制为他们的用户ID的特定值。
有什么想法?非常感谢!
答案 0 :(得分:3)
GoogleResult[0]
有这个:
http://www.sqlmaestro.com/resources/all/row_level_security_mysql/
<强>抽象强>
本文包含使用MySQL等功能作为视图和触发器在MySQL 5.0及更高版本中实现行级安全性的分步指南。
答案 1 :(得分:0)
嘛!我建议为此制作一张桌子。对于整个应用程序
user_rights
id | user_id | insert | update | delete | read
1 | 2 | 0 | 0 | 0 | 1
注意:1表示允许,0表示不允许。
现在,在您执行任何操作之前,先检查权限,然后执行其他操作。
详细方法,包括申请部分:
screens
id | title
1 | articles
2 | blog
user_rights
id | user_id | insert | update | delete | read | screen_id
1 | 2 | 1 | 0 | 0 | 1 | 1
2 | 2 | 0 | 0 | 0 | 1 | 2
在此方法中,您可以允许屏幕级别访问。用户ID 2可以添加和查看文章,但他也可以查看博客。 我可能在这里使用不恰当的条款 但我希望你明白这个主意。