@Lite_robot

SQL: Как реализовать модель пользователя с индивидуальными правами и в тоже время находясь в группе которая задает начальные права?

Как реализовать модель пользователя с индивидуальными правами, который в тоже время находится в группе которая тоже задает права пользователю?

Правильно ли проектировать, используя таблицу индивидуальных прав, либо реализовать все виды прав через группы?
  • Вопрос задан
  • 166 просмотров
Пригласить эксперта
Ответы на вопрос 2
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Заданные права более глубокого вложения, всегда заменяют действующие права текущего уровня (директории, группы/раздела и т.д.), если они перекрываются новыми.
Иначе (если не перекрываются действующие и новые) - действуют права текущего уровня без изменений.

Это делается через маски прав используя операцию merge - прямая замена битов маски доступа через последовательную проверку от верхнего уровня к нижнему (к текущему проверяемому) по всем встречающимся маскам.

Для прав - всегда нужно использовать отдельную таблицу прав (ACL), а объекты для предоставления прав и сами права - уже задавать в связанных таблицах.

Контроль доступа - должен быть централизованным и понятным!
Ответ написан
Комментировать
qonand
@qonand
Software Engineer
посмотрите в сторону RBAC
Ответ написан
Ваш ответ на вопрос

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

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