关于用户权限的MySql逻辑

时间:2018-02-04 08:01:47

标签: mysql database permissions user-controls user-permissions

好吧,我现在正处于两难境地

我正在开发一个网页应用,它拥有多个用户,并在用户登录时显示自己的数据。

示例:

User1登录并创建了4组不同的数据,这些数据将是data1到data4

User1显然可以查看他的所有数据,但无法很好地管理它,所以他要求一些用户完成这项工作。 user2用于管理他的data2,user3到data3和user4到data4,但这些用户也有他们自己的数据,他们只能并且可以雇用其他人为他们完成工作。

您可以将其视为Facebook页面,您可以在其中添加人员作为主持人

我想到了用户表和另一个包含数据集的表

当用户登录时,使用用户名作为密钥来查看该用户下的数据列表,但是如果他们有自己的数据,我应该为帮助者执行此操作吗?

如果user2登录,user2将能够查看他的数据和user1的数据,但user1无法看到他的数据

1 个答案:

答案 0 :(得分:0)

你在解决这个谜题方面做得很好。我要做的是完全将用户与权限分开。最简单的形式如下:

User table
user1 name1 email1 password1
user2 name2 email2 password2
user3 name3 email3 password3
....

Permission table
Permission1 data1
Permission2 data2
Permission3 data3
....

现在,您创建了一个将任何用户链接到任何权限的第三个表:

Privileges table
user2 permission2 owner
user1 permission3 guest
user5 permission5 owner
user2 permission3 guest
....

这样可以轻松查询谁拥有权限。

当然,您需要大量扩展此架构。还要考虑系统上可能存在的任何其他需求(将来),因为这可能不是正确的架构。