我需要关于我一直在做的事情的帮助。因此,我在此表中存储了一些访问数据:
SELECT * FROM MASTER_ROLE;
+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
| userid | Page A | Page B | Page C | Page D | Page E | Page F | Page G | Page H | Page I |
+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 1 | 0 | 2 | 1 | 1 | 0 | 2 | 0 | 1 | 2 |
+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
我正在存储这样的数据,因为我需要将不同页面的 3 级访问权限(受限、用户和管理员)中的任何 1 级分别提供给不同的人。因此,如果一个人是页面 A 的管理员,他可能会被限制访问页面 B。这里,我显示了 0:管理员、1:用户和 2:受限。
因此,当用户登录成功时,我需要将这张表发送到前端:
//query to retreive access rights for userid=1;
+-----------+-------+
| Page Name | Right |
+-----------+-------+
| Page A | 0 |
| Page B | 2 |
| Page C | 1 |
| Page D | 1 |
| Page E | 0 |
| Page F | 2 |
| Page G | 0 |
| Page H | 1 |
| Page I | 2 |
+-----------+-------+
这是因为在前端,我会使用循环遍历这个表,并禁用所有访问权限 = Restricted 的页面。
另外,请注意查询需要是动态的,这样当页数(即 MASTER_ROLE 表中的列数增加时)不需要更改。
非常感谢 :)