Anp*_*pan 9 mysql access-control
我一直在努力找到这个问题的解决方案,现在我已经几乎无法想出一些有效的方法.问题如下:
我目前正在开发一个统计工具,显示一些应用程序的图形和数据.显然需要限制对这些数据的访问,因为用户A拥有应用程序"一"和"二",并且不能看到"三"或"四".
现在,每个用户可以是多个组的成员并从该组继承权限,但也可以拥有单独的权限.必须为每个应用程序设置这些权限.在以下情况下,可以访问一个应用程序的一组数据:

目标是创建一个表,该表存储每个用户当前对每个应用程序的实际权限,根据组成员身份和个人权限计算,并且由于与其他表的关系,该信息始终保持一致.
我不知道这是否有助于找到解决方案,但这里是获取id为1的用户当前活动权限的SQL:
(
SELECT u.perm_id AS perm, u.user_id AS uid, u.app_id AS app
FROM daUsers_has_daPermissions AS u
WHERE u.user_id = 1
)
UNION
(
SELECT g.perm_id AS perm, u.user_id AS uid, g.app_id AS app
FROM daUsers_has_daPermissions AS u, daUsergroup_has_daPermissions AS g, daUsergroup_has_daUsers AS g_has_u
WHERE u.user_id = 1
AND u.user_id = g_has_u.user_id
AND g.group_id = g_has_u.group_id
);
Run Code Online (Sandbox Code Playgroud)
这就是我想要存储在一个额外的表中(仅适用于所有用户).
| 归档时间: |
|
| 查看次数: |
6183 次 |
| 最近记录: |