Вывод данных в зависимости от прав
Всем привет. Помогите с вопросом по работе с ролями. Ни разу таким не занимался и словил ступор немного.
У меня есть таблица с списком отчетов. Мне нужно получать из таблицы значения в зависимости от роли пользователя и от приложения (отчеты могут повторяться в разных приложениях)
Опишите пож-та кратко как реализуется такой механизм.
Пока у меня только одна возникла мысль. Напихать в таблицу с отчетами полей с ролями и приложениями и в каждом отчете проставить true и false и как-то потом эти поля парсить определяя что можно, а что нельзя.
Но как по мне это буде выглядеть дико костыльно. Наверняка есть методы решения этого вопроса получше
Ответы (1 шт):
Пока у меня только одна возникла мысль. Напихать в таблицу с отчетами полей с ролями и приложениями и в каждом отчете проставить true и false
Глобальная идея - вполне нормальное решение, называется row level security (RLS). По реализации - true / false в таблице не очень гибко. Можно либо самостоятельно реализовать RLS, либо посмотреть готовые подходы. Например для mssql: https://learn.microsoft.com/en-us/sql/relational-databases/security/row-level-security?view=sql-server-ver16#MidTier