Зачем список разрешений/permissions в БД?

Смотрел кучу админок, статей и роликов, везде создается таблица с разрешениями, но эти разрешения пустые записи без реализации в коде, большой шанс опечаток или хранить устаревшие данные, опять же как-то надо поддерживать актуальность на боевом сервере, тестовом и машинах разработчиков.

Сейчас поднимаю новую админку и решил почему бы разрешения не хранить простым массивом? Либо константами какого класса разрешения, в админке уже показывать эти данные для назначений ролей, так точно будет сначала реализация, актуальность кода и только потом записи в БД.

В чем может быть подвох? Зачем все таки разрешения в БД? Был ли у вас опыт с этим? Миграциями держать актуальность таблицы с разрешениями?
  • Вопрос задан
  • 243 просмотра
Пригласить эксперта
Ответы на вопрос 2
DmitriyEntelis
@DmitriyEntelis
Думаю за деньги
Вообще классическое решение из времен когда память была дорогая - хранить права как бинарную маску вида 0101011101 - в которой определяемая роль зависела тупо от номера бита.
Проблемы которые при таком подходе возникают - достаточно очевидны.

Что именно Вы подразумеваете под "почему бы разрешения не хранить простым массивом" и "Зачем все таки разрешения в БД?" - из Вашего вопроса не очень понятно.
Ответ написан
@assets
Back-end developer
Создание ролей нужно для того чтобы создать новый роль и доступом по разделу. Хранит в массив можно когда роли по умолчанию.

Например
User
Admin
SuperAdmin

У вас 3 роли, смысл хранение их в базе нету, если данные не меняться.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы