CHEM_Eugene
Новичок
Попытка разделить права пользователей.
Долго копал google, но почти ничего о способах разделения прав пользователей не нашел...
Имеем cms с реализацией FrontController. На уровне соответствующего модуля организован слой служб в виде PageController.
Необходимо придумать систему разделения прав по ролям: root, admin, editor, manager, user, guest, advertice client и т.д.
Меня интересует как это вообще должно быть устроено. Для начала как хранить и что хранить в базе.
На ум приходит простая схема: 3 таблицы в mysql:
roles(id, role, description),
rules(id, service, description),
rulesByRoles (id, id_role, id_rule)
В rules прописать весь API слоя служб и при каждом запросе обращаться ко всем этим таблицам и для данного юзера по его роли проверять доступен ли вызов данного метода.
Понимаю, что это реализация "в лоб". Может быть есть более элегантные решения? Какие у кого идеи на этот счет.
Долго копал google, но почти ничего о способах разделения прав пользователей не нашел...
Имеем cms с реализацией FrontController. На уровне соответствующего модуля организован слой служб в виде PageController.
Необходимо придумать систему разделения прав по ролям: root, admin, editor, manager, user, guest, advertice client и т.д.
Меня интересует как это вообще должно быть устроено. Для начала как хранить и что хранить в базе.
На ум приходит простая схема: 3 таблицы в mysql:
roles(id, role, description),
rules(id, service, description),
rulesByRoles (id, id_role, id_rule)
В rules прописать весь API слоя служб и при каждом запросе обращаться ко всем этим таблицам и для данного юзера по его роли проверять доступен ли вызов данного метода.
Понимаю, что это реализация "в лоб". Может быть есть более элегантные решения? Какие у кого идеи на этот счет.
