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