Логика уровня пользователя
У меня есть проект, над которым я работаю, и я изучал наличие уровней пользователя и рекомендуемых и безопасных способов сделать это. В проекте будут более сложные вещи, такие как группы, пользователи, страницы, чат, и я не хочу вносить некоторые изменения сейчас, и мне потребуется изменить логику, когда я добавлю другие функции. Я хотел бы получить совет или помощь по этому вопросу, я был бы очень признателен.
То, как я думал, было либо
Есть таблица с именем userlevels (например) с 3 столбцами
ID
,Name
,Permissions
1, user 2, Administrator, {"admin": 1} with json
ИЛИ ЖЕ
Иметь дополнительную строку с разрешениями в таблице обычных пользователей и иметь строку, например,
is_admin [0,1]
Можно ли так делать? Если у вас есть какие-то другие идеи для меня, я был бы очень признателен. Заранее спасибо!
1 ответ
Я предложу более нормализованное решение, которое должно быть абсолютно гибким в будущем.
Таблица пользователей:
UserID (PK) UserName
Таблица разрешений
PermissionId (PK) Permission
Соединительная таблица для разрешения связи "многие ко многим" между пользователями и разрешениями
UserID (FK to users) PermissionId (FK to permissions)