Как лучше хранить "секретную" инфу в базе
он не создавал и может только лично пользовать что-то что ему дали.
Мы просто говорим о разных вещах.
Ролевое разграничение доступа позволяет реализовать гибкие, изменяющиеся динамически в процессе функционирования компьютерной системы правила разграничения доступа - https://ru.wikipedia.org/wiki/Упра�%...
То бишь, определил админ некие права доступа и присвоил их пользователю. После админ может их и изменить.
Иначе говоря - пользователь получает свою роль после логина. Теоретически она может изменится и во время сессии, но при этом кто то другой может отобрать или добавить права.
В нашем же случае - это просто состояние контейнера по отношению к пользователю, которое никак не может изменится.
Какие бы права пользователь бы не получил он никогда не сможет стать владельцем контейнера.
В подобных приложениях на RBAC делается совсем по другому. Админ создает контейнеры и затем для каждой роли определяет, что может может делать пользователь с папкой и с данными внутри нее.
Тогда мы имеем
- роль А для которой есть права доступа для контейнера Х: просмотр содержания, чтение и запись, добавить и удалить.
- роль НА для которой есть права доступа для контейнера Х1: просмотр содержания, чтение
- роль хА = А + НА
при этом роли типа хА должны быть сделаны для каждого пользователя и для всех имеющихся папок, что практически исключает ситуацию когда пользователь сам создает контейнер.