Я пытаюсь получить список пользователей, которые могут назначать задачи другим пользователям в зависимости от их ролей и отдела.
Я использую RBAC для общего контроля доступа, но мне нужен способ, чтобы каждая рольимеет возможность назначать задачи другим пользователям в зависимости от их отделов.ниже приведены таблицы, которые я использую.
- пользователи
- роли
- role_user
- департаменты
- Department_users
Проверьте скрипку ниже для полной структуры
http://sqlfiddle.com/#!9/265ff0/2
SELECT ru.user_id
, du.department_id
, ru.role_id
FROM role_user ru
JOIN department_user du
on du.user_id = ru.user_id
JOIN allowed_assign aa
on ru.role_id = aa.allowed_role
WHERE ru.role_id = 4
Я попытался создать 6-ю таблицу с именем allow_assign, где у меня есть role_id, департамент_id и allow_roleid, но не повезло.
Пожалуйста, советуйте, как лучше решить эту проблему.
Заранее спасибо.