Я создаю CMS и теперь сталкиваюсь с какой-то проблемой, мне нужен ваш совет.У меня есть несколько различных модулей (приложений), которые я могу определить для них настраиваемое разрешение - в модели я определяю настраиваемые разрешения, такие как «view_store», «edit_store», «delete_store» и так далее.А затем я определил разные группы пользователей (я хочу иметь контроль доступа пользователей на основе групп) - admin, editor, vip, user.
Я создаю эти группы при запуске одноразовой команды для инициализации CMS (управления.py initcms) и я хочу, конечно, чтобы все нужные права были добавлены в группу одновременно.
Действие initcms выполняется после syncdb, поэтому все модели находятся в БД (информация о разрешениях такжеконечно).
У меня есть кое-что в голове ... Если это хороший путь или у вас есть лучший?Позвольте мне описать мое: я хочу дать, например, для пользователя vip все разрешения от всех моделей (для которых это разрешение определено) на «view_ *».Это означает, что VIP может просматривать все.У меня есть идея при инициализации базы данных просто захватить все записи (все разрешения), который соответствует шаблону "LIKE view_%", а затем добавить их все в разрешения группы.
Но тогда проблема, если новый модуль будет добавлен... Мне нужно перезапустить это действие и проверить правильность всех разрешений ... Может быть, есть какой-то динамический способ работы с разрешениями группы?