以下场景:我目前正在尝试使用连接等使用 MySQL 构建一个复杂的权限系统。它的大部分工作就像一个魅力,但我现在的问题是:
首先,表格的设置:(对不起外部链接,但编辑器目前似乎不适合我)。
表格:http://pastebin.de/36727 数据: http: //pastebin.de/36726
好的:
用户通过成为组的成员来获得权限。(这样可行!)
所以,但是现在,我希望能够为用户提供特殊权限(不包含在组中)
我怎么能这样做?那是我的尝试(但问题是,如果存在特殊权限,则结果中不会返回):
SELECT DISTINCT
`user`.`username`,
`right`.`name`
FROM
`user`
INNER JOIN
`user_group` ON
`user`.`id` = `user_group`.`user_id`
INNER JOIN
`group` ON
`user_group`.`group_id` = `group`.`id`
INNER JOIN
`group_right` ON
`group`.`id` = `group_right`.`group_id`
INNER JOIN
`right` ON
`group_right`.`right_id` = `right`.`id`
LEFT JOIN
`user_right` ON
`user_right`.`user_id` = `user`.`id` AND
`user_right`.`right_id` = `right`.`id`
WHERE
`user`.`username` = 'Domi'
我希望你知道我的意思,因为我的英语不是那么好。