desperado
Новичок
система прав доступа
структура таблиц::
каждому "модулю" соответствует одино или несколько "действий". каждый "пользователь" или "группа", в которую он входит, обладает n-ным кол-вом "действий".
все бы хорошо, но это раздача прав на уровне "модулей". т.е. - дали "группе"("пользователю") управлять "модулем" - "новости", она(он) и имеют права ко всем "новостям".
а вот задачка по интересней:
раздавать права на уровне "объектов". т.е. когда "новость" это "объект" к которой привязаны "действия" (скажем: удалить \ изменить \ публиковать \ снять с публикации...).
вот тут-то и заминка: то ли для каждой "новости" дублировать "действия" и к ним привязывать пользователей\группы (что полный бред) .
то ли привязывать к "объекту" "новость" существующие "действия".
к примеру:
но тут возникает вопрос - как связывать пользователей\группы с правами на действия от объекта, на ум приходит только одно решение - связывть пользователей и группы с идентификатором в таблице objects_to_actions, но что-то меня терзают смутные сомнения, что это не есть гуд.
у кого какие мнения на сей счет?
структура таблиц::
Код:
users:|user_id|user_login|user_pass
groups:|group_id|group_name
users_to_groups:|id|user_id|groupt_id
modules:|modules_id|modules_name
actions:|action_id|modules_id|action_name
users_to_actions:|id|user_id|action_id
groups_to_actions:|id|group_id|action_id
все бы хорошо, но это раздача прав на уровне "модулей". т.е. - дали "группе"("пользователю") управлять "модулем" - "новости", она(он) и имеют права ко всем "новостям".
а вот задачка по интересней:
раздавать права на уровне "объектов". т.е. когда "новость" это "объект" к которой привязаны "действия" (скажем: удалить \ изменить \ публиковать \ снять с публикации...).
вот тут-то и заминка: то ли для каждой "новости" дублировать "действия" и к ним привязывать пользователей\группы (что полный бред) .
то ли привязывать к "объекту" "новость" существующие "действия".
к примеру:
Код:
object:|object_id|object_name|
|1 |новость 1 |
|2 |новость 2 |
actions:|action_id|action_name |
|1 |удалить |
|2 |редактировать |
|3 |опубликовать |
|4 |снять публикацию|
objects_to_actions:|id|object_id|action_id|
|1 |1 |1 |
|2 |1 |2 |
|3 |1 |3 |
|4 |1 |4 |
|5 |2 |1 |
|6 |2 |2 |
|7 |2 |3 |
|8 |2 |4 |
у кого какие мнения на сей счет?