Реализация гибкой системы управления доступом в приложении
https://doi.org/10.15514/ISPRAS-2025-37(4)-8
Аннотация
В статье рассматривается развитие механизма конфигурации гибкой ролевой системы для приложений, которые требуют динамического разграничения прав пользователей в зависимости от бизнес-контекста или различных условий. Современные приложения становятся все больше и сложнее, что приводит к необходимости реализации эффективных механизмов контроля доступа. Описанный подход предполагает использование собственной ролевой модели, которая позволит точно настраивать права пользователей для различных сущностей в базе данных. Основное внимание уделено гибкости и масштабируемости модели, возможности настраивать доступ в зависимости от статусов объектов, ролей пользователей и нужд бизнеса. В качестве примера рассмотрена конфигурация интернет-магазина, с разграничением по ролям пользователей и учетом различий в статусах товара. Подробно описан процесс настройки доступов, приведён пример кода для проверки разрешений и динамического отображения полей. В заключение обсуждаются преимущества данного механизма и его недостатки.
Об авторе
Тимур Игоревич ВАСИЛЬЕВСоединённые Штаты Америки
Выпускник Казанского национального исследовательского технического университета – КАИ имени Туполева в городе Казани, где получил степень магистра по специальности "Информатика и вычислительная техника". В настоящее время является ведущим разработчиком в финтех компании Paybis.com.
Список литературы
1. Что такое реляционная база данных. Доступно по адресу: https://selectel.ru/blog/relational-database, дата обращения: 27.03.2025. / What is a relational database. Available at: https://selectel.ru/blog/relational-database (in Russian), accessed 27.03.2025.
2. Sandhu, R. Role-based access control models. IEEE Computer Society Press, 1996, pp. 1-21.
3. Ferraiolo, D. F., Sandhu, R. Assessment of Role-based Access Control Systems. IEEE Transactions on Software Engineering, 2007, pp. 1-11.
4. Калимолдаев М.Н., Бияшев Р.Г., Рог О.А. Анализ методов атрибутного разграничения доступов. Прикладная дискретная математика, 2019, стр. 43-56. / Kalimoldaev M.N., Biyashev R.G., Rog O.A. Analysis of methods of attribute access differentiation. Applied discrete mathematics, 2019, pp. 43-56 (in Russian). DOI: 10.17223/20710410/44/4.
5. Амелина А.А. Исследование решений для реализации ролевой модели системы контроля доступа к корпоративной информационной системе. Перспективы развития и применения современных технологий, 2021, стр. 32-38. / Amelina A.A. Research of solutions for the implementation of the role model of the access control system to the corporate information system. Prospects for the development and application of modern technologies, 2021, pp. 32-38 (in Russian).
6. Кальдина Д.И. Ролевая модель управления доступом в системе конференций. ИT. НАУКА. КРЕАТИВ. Материалы I международного форума: в 5-ти томах. т. 4. Молодёжь. Наука. Творчество, 2024, стр. 315-320. / Kaldina D.I. Role model of access control in the conference system. Materials of the international forum Youth. Science. Creativity: in 5 volumes, vol. 4, 2024, pp. 315-320 (in Russian).
7. Мухаммад А., Миков Д.А. Ролевая модель управления доступом в системе динамического архивирования. Инновационные научные исследования, 2021, с. 109-203. / Muhammad A., Mikov D.A. A role-based access control model in a dynamic archiving system. Innovative Scientific Research, 2021, pp. 109-203 (in Russian).
8. Иргашева Д.Я., Усманов А.К. Разработка ролевой модели с зональным разграничением доступа. Наука и мир, 2016, стр. 35-40. / Irgasheva D.Ya., Usmanov A.K. Development of a role model with zonal access control. Nauka i Mir, 2016, pp. 35-40 (in Russian).
9. Документация инструмента AWS S3. Доступно по адресу: https://aws.amazon.com/ru/s3. Дата обращения: 27.03.2025. / Documentation of the AWS S3 tool. Available at: https://aws.amazon.com/ru/s3, accessed: 27.03.2025.
10. Исследуем производительность JOIN в MySQL. Доступно по адресу: https://habr.com/ru/articles/122210/. Дата обращения: 30.11.2024. / Let's explore the performance of JOIN in MySQL. Available at: https://habr.com/ru/articles/122210, accessed: 30.11.2024.
11. Как реляционная СУБД делает JOIN? Доступно по адресу: https://habr.com/ru/articles/560834/. Дата обращения: 30.11.2024. / How does a relational database do a JOIN? Available at: https://habr.com/ru/articles/560834, accessed: 30.11.2024.
12. Веб-сайт Symfony Forms. Доступно по адресу: https://symfony.com/doc/current/forms.html. Дата обращения: 06.11.2024. / Symfony Forms website. Available at: https://symfony.com/doc/current/forms.html, accessed: 06.11.2024.
13. Веб-сайт Symfony Constraints. Доступно по адресу: https://symfony.com/doc/current/reference/constraints.html. Дата обращения: 06.11.2024. / Symfony Constraints website. Available at: https://symfony.com/doc/current/reference/constraints.html, accessed: 06.11.2024.
14. Онлайн конвертер кода. Доступно по адресу: https://syntha.ai/. Дата обращения: 04.11.2024. / Online code converter. Available at: https://syntha.ai, accessed: 04.11.2024.
Рецензия
Для цитирования:
ВАСИЛЬЕВ Т.И. Реализация гибкой системы управления доступом в приложении. Труды Института системного программирования РАН. 2025;37(4):147-160. https://doi.org/10.15514/ISPRAS-2025-37(4)-8
For citation:
VASILIEV T.I. Implementation of a Flexible Access Control System in the Application. Proceedings of the Institute for System Programming of the RAS (Proceedings of ISP RAS). 2025;37(4):147-160. (In Russ.) https://doi.org/10.15514/ISPRAS-2025-37(4)-8