Алгоритмы реализации аутентификации пользователей для веб-приложений на основе библиотеки Streamlit
DOI:
https://doi.org/10.5281/zenodo.18229848Ключевые слова:
системы контроля управления доступом, паттерны проектирования, алгоритмы шифрования, Python, Bcrypt, StreamlitАннотация
Streamlit является сравнительно новой, быстроразвивающейся библиотекой, которая ориентирована на разработку и развертывание веб-приложений для научных исследований, машинного обучения и статистического анализа данных. Однако, на сегодняшний день для данной библиотеки отсутствуют готовые решения по аутентификации пользователей, что может явиться серьезным вопросом при разработке программных продуктов, поддерживающих приватность пользователей или ограниченность доступа пользователей. Поэтому, поставленной целью исследования явилась разработка алгоритмов и подходов для создания системы аутентификации пользователей с возможностью администрирования (с учетом возможностей интеграции в веб-приложения созданных на основе Streamlit). Основное внимание в работе было уделено обеспечению безопасности через хеширование паролей с использованием библиотеки Bcrypt и управлению пользовательскими данными через файловое хранилище в формате JSON. Рассмотрены варианты администрирования разработанной системы с возможностью обеспечения ограничений доступа для определенных пользователей. Представлены ключевые аспекты архитектуры системы, включая регистрацию пользователей, аутентификацию, управление данными, а также запись в файл JSON. В представленных примерах был использован функциональный подход: рассмотрена разработка как функций, так и отдельных составляющих разрабатываемой системы, их взаимодействие между собой, а также их алгоритмическая реализация. Рассмотрено применение общеизвестных паттернов проектирования и системного дизайна, обработка ошибок. Приведены примеры записи шифрованных паролей в хранилище. Результаты представленной работы включают разработку архитектуры системы аутентификации, алгоритмов шифрования паролей, методов управления учетными записями и их интеграцию в веб-приложения. Практическая полезность представленной разработки заключается в возможности интеграции (без каких-либо значимых изменений в исходном коде) системы аутентификации пользователей в приложение или информационную систему, которые основаны на библиотеке Streamlit (в частности, это могут быть системы для проведения научных исследований, для работы с статистическими данными или создания и использования моделей машинного обучения).
Загрузки
Опубликован
Выпуск
Раздел
Лицензия

Это произведение доступно по лицензии Creative Commons «Attribution-NonCommercial» («Атрибуция — Некоммерческое использование») 4.0 Всемирная.
Статьи журнала «Вестник Донецкого университета. Серия 04. Технические науки» находятся в открытом доступе и распространяются в соответствии с условиями Лицензионного Договора с Донецким Государственным университетом, который бесплатно предоставляет авторам неограниченное распространение и самостоятельное архивирование.





