在PHP站点上实现权限数据库结构,以将多个级别的访问限制为

时间:2014-06-07 10:18:35

标签: php mysql acl

我正在开发一个PHP网站,该网站显示了一个车间陈列室公司的业务,我们有3个用户,

- Super Admin(Owner)
 - Super Manager
 - Manager

= Here Super Admin Have all Access by default
= Super Manager's access will be set by Super Admin
= Manager's Access can be ser by SUper Admin and Super Manager As well

该业务包括以下方式的产品,

让我们说单区

- Districts - 1
      - Talukas - 8
           - Vehicle Family - 2 - 1Traditional - 2Non-traditional
               - Category - 9
                   - Prod Line - 24
                       - Vehicle Model - 55

为此,我已将超级管理员的查看数据权限设置为车辆模型级别。意味着我想将这些类型的权限插入数据库表。   如何设计数据库表以在表中保存这些权限?

管理员应该能够同样更改车辆系列或产品系列或车辆型号的不同区域或talukas的访问级别基础。!

1 个答案:

答案 0 :(得分:1)

  

如何设计数据库表以在表格中保存这些权限?

您可以通过拥有一个用户表,一个权限表和一个链接用户权限的链接表来实现此目的。

+----------+     +----------+     +----------+
|   User   +---> |   Link   | <---+   Perm   |
+----------+     +----------+     +----------+

在您的情况下,您可能还希望组织用户。所以另一个组表和一个表与用户链接组。但是,由于您的三个用户以1:1的比例代表所有三个组,这在技术上并不是必需的(但可以是当用户数量增加且1:1关系中断时)。

  

管理员应该能够同样更改车辆系列或产品系列或车辆型号的不同区域或talukas的访问级别基础。!

您编入权限的含义。使权限唯一,以便代码中的业务逻辑可以处理它。您通常不会将这些规则编码到数据库结构中。

相关问题