【问题标题】:MySql logic on user permissionMySql 关于用户权限的逻辑
【发布时间】:2018-07-14 07:56:12
【问题描述】:

好吧,我现在有两难选择

我正在开发一个网络应用程序,该应用程序有多个用户,并在登录时显示他们自己的数据。

例子:

User1 登录并创建了 4 组不同的数据,分别是 data1 到 data4

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

您可以将其视为一个 facebook 页面,您可以在其中添加人员作为版主

我正在考虑用户表和另一个包含数据集的表

当用户登录时,使用用户名作为键来查看该用户下的数据列表,但是如果他们有自己的数据,我应该为帮助者这样做吗?

如果用户2登录,用户2将能够看到他的数据和用户1的数据,但用户1看不到他的数据

【问题讨论】:

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


    【解决方案1】:

    你已经解决了这个谜题。我要做的是将用户与权限完全分开。最简单的形式如下:

    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
    ....
    

    这样可以很容易地查询谁对什么有权限。

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

    【讨论】:

    • 如果它的一千个用户和用户1可以授予用户2用户3用户4的权限......用户N
    • @Mark:你能解释一下你看到了什么“问题”吗?我不明白。需要说明的是:我只讨论了数据库架构,而不是用户界面。
    猜你喜欢
    • 1970-01-01
    • 2019-12-11
    • 2014-03-14
    • 2021-05-15
    • 2011-01-16
    • 1970-01-01
    • 1970-01-01
    • 2012-04-28
    • 2011-05-06
    相关资源
    最近更新 更多