Алгоритмы реализации аутентификации пользователей для веб-приложений на основе библиотеки Streamlit

Авторы

  • Дмитрий Сергеевич Пономарёв ФКУ «Научно-исследовательский институт Федеральной службы исполнения наказаний», ФГБОУ ВО «Ижевский государственный технический университет имени М.Т. Калашникова» Автор ponomarev.dmitry1990@mail.ru

DOI:

https://doi.org/10.5281/zenodo.18229848

Ключевые слова:

системы контроля управления доступом, паттерны проектирования, алгоритмы шифрования, Python, Bcrypt, Streamlit

Лицензия

Метаданные этой статьи распространяются под лицензией CC BY 4.0

Аннотация

Streamlit является сравнительно новой, быстроразвивающейся библиотекой, которая ориентирована на разработку и развертывание веб-приложений для научных исследований, машинного обучения и статистического анализа данных. Однако, на сегодняшний день для данной библиотеки отсутствуют готовые решения по аутентификации пользователей, что может явиться серьезным вопросом при разработке программных продуктов, поддерживающих приватность пользователей или ограниченность доступа пользователей. Поэтому, поставленной целью исследования явилась разработка алгоритмов и подходов для создания системы аутентификации пользователей с возможностью администрирования (с учетом возможностей интеграции в веб-приложения созданных на основе Streamlit). Основное внимание в работе было уделено обеспечению безопасности через хеширование паролей с использованием библиотеки Bcrypt и управлению пользовательскими данными через файловое хранилище в формате JSON. Рассмотрены варианты администрирования разработанной системы с возможностью обеспечения ограничений доступа для определенных пользователей. Представлены ключевые аспекты архитектуры системы, включая регистрацию пользователей, аутентификацию, управление данными, а также запись в файл JSON. В представленных примерах был использован функциональный подход: рассмотрена разработка как функций, так и отдельных составляющих разрабатываемой системы, их взаимодействие между собой, а также их алгоритмическая реализация. Рассмотрено применение общеизвестных паттернов проектирования и системного дизайна, обработка ошибок. Приведены примеры записи шифрованных паролей в хранилище. Результаты представленной работы включают разработку архитектуры системы аутентификации, алгоритмов шифрования паролей, методов управления учетными записями и их интеграцию в веб-приложения. Практическая полезность представленной разработки заключается в возможности интеграции (без каких-либо значимых изменений в исходном коде) системы аутентификации пользователей в приложение или информационную систему, которые основаны на библиотеке Streamlit (в частности, это могут быть системы для проведения научных исследований, для работы с статистическими данными или создания и использования моделей машинного обучения).

Скачивания

Данные по скачиваниям пока не доступны.

Библиографические ссылки

1. Gholizadeh, S. Top Popular Python Libraries in Research / S. Gholizadeh // Journal of Robotics and Automation Research. – 2022. – Vol. 3, No. 2. – P. 142-145. – DOI 10.33140/jrar.03.02.02. – EDN GLBISU.

2. Chiang, R. C. Contention-aware container placement strategy for docker swarm with machine learning based clustering algorithms / R. C. Chiang // Cluster Computing. – 2023. – Vol. 26, No. 1. – P. 13-23. – DOI 10.1007/s10586-020-03210-2. – EDN SWQZXV.

3. Taufik A. I. Web Application Based on MachineLearning for Diabetes Detection usingMicrostrip Resonator and Streamlit / A. I. Taufik, Y. Rahayu, A. Setiawan // Indonesian Journal of Electronics, Electromedical Engineering, and Medical Informatics. – 2024. – Vol. 6, No. 3. – P. 120-131. – DOI 10.35882/ijeeemi.v6.i3.2. – EDN TPLKYH.

4. Akkem, Ya. Streamlit Application for Advanced Ensemble Learning Methods in Crop Recommendation Systems – A Review and Implementation / Ya. Akkem, B. S. Kumar, A. Varanasi // Indian Journal of Science and Technology. – 2023. – Vol. 16, No. 48. – P. 4688-4702. – DOI 10.17485/ijst/v16i48.2850. – EDN QFZSPO.

5. Нурматов, М. Ш. Обеспечение безопасности веб-приложений на основе использования JWT в Lumen с использованием Swagger / М. Ш. Нурматов, А. Н. Скоба // Перспективные научные исследования: опыт, проблемы и перспективы развития : Сборник научных статей по материалам X Международной научно-практической конференции, Уфа, 04 апреля 2023 года. Том Часть 3. – Уфа: Общество с ограниченной ответственностью "Научно-издательский центр "Вестник науки", 2023. – С. 196-206. – EDN RSALAH.

6. Свиноухов, Д. Д. Сравнение существующих алгоритмов хеширования / Д. Д. Свиноухов, А. В. Абрамов, Э. Х. Милушев // Наукосфера. – 2024. – № 5-1. – С. 71-74. – DOI 10.5281/zenodo.11185942. – EDN BDZLJS.

7. Лейн, Ф. Е. Исследование методов хранения пользовательских паролей и их синхронизации на мобильных устройствах / Ф. Е. Лейн // Вестник науки. – 2024. – Т. 1, № 5(74). – С. 512-522. – EDN ISTUTJ.

8. Batubara, T. P. Analysis Performance BCRYPT Algorithm to Improve Password Security from Brute Force / T. P. Batubara, S. Efendi, E. B. Nababan // Journal of Physics: Conference Series. – 2021. – Vol. 1811, No. 1. – P. 012129. – DOI 10.1088/1742-6596/1811/1/012129. – EDN TTSZOX.

9. Шмаков, С. Э. Взаимодействие паттернов проектирования для эффективной web-разработки / С. Э. Шмаков, Е. В. Щенникова, А. Е. Определенцева // Ученые записки УлГУ. Серия: Математика и информационные технологии. – 2021. – № 2. – С. 90-96. – EDN YQJJOH.

10. Федорова, О. Single Responsibility Principle / О. Федорова // Системный администратор. – 2024. – № 1-2(254-255). – С. 62-63. – EDN ZHTWLW.

11. Дехтиевский, С. А. Принципы SOLID и их применение в разработке программного обеспечения / С. А. Дехтиевский, Г. С. Бударный // Научный аспект. – 2024. – Т. 43, № 4. – С. 5635-5641. – EDN RBCDIR.

12. Радковский, С. А. Использование фреймворка Streamlit для создания виртуальных лабораторных работ в виде веб-приложений / С. А. Радковский, Г. В. Коваленко // Сборник научных трудов Донецкого института железнодорожного транспорта. – 2024. – № 4(75). – С. 61-72. – EDN TDRGYB.

13. Meziane, H. A Study of Modelling IoT Security Systems with Unified Modelling Language (UML) / H. Meziane, N. Ouerdi // International Journal of Advanced Computer Science and Applications. – 2022. – Vol. 13, No. 11. – DOI 10.14569/ijacsa.2022.0131130. – EDN SMPDJQ.

REFERENCES LIST

1. Gholizadeh, S. Top Popular Python Libraries in Research / S. Gholizadeh // Journal of Robotics and Automation Research. – 2022. – Vol. 3, No. 2. – P. 142-145. – DOI 10.33140/jrar.03.02.02. – EDN GLBISU.

2. Chiang, R. C. Contention-aware container placement strategy for docker swarm with machine learning based clustering algorithms / R. C. Chiang // Cluster Computing. – 2023. – Vol. 26, No. 1. – P. 13-23. – DOI 10.1007/s10586-020-03210-2. – EDN SWQZXV.

3. Taufik A. I. Web Application Based on MachineLearning for Diabetes Detection usingMicrostrip Resonator and Streamlit / A. I. Taufik, Y. Rahayu, A. Setiawan // Indonesian Journal of Electronics, Electromedical Engineering, and Medical Informatics. – 2024. – Vol. 6, No. 3. – P. 120-131. – DOI 10.35882/ijeeemi.v6.i3.2. – EDN TPLKYH.

4. Akkem, Ya. Streamlit Application for Advanced Ensemble Learning Methods in Crop Recommendation Systems – A Review and Implementation / Ya. Akkem, B. S. Kumar, A. Varanasi // Indian Journal of Science and Technology. – 2023. – Vol. 16, No. 48. – P. 4688-4702. – DOI 10.17485/ijst/v16i48.2850. – EDN QFZSPO.

5. Nurmatov, M. Sh. Obespechenie bezopasnosti veb-prilozhenii na osnove ispolzovaniia JWT v Lumen s ispolzovaniem Swagger / M. Sh. Nurmatov, A. N. Skoba // Perspektivnye nauchnye issledovaniia: opyt, problemy i perspektivy razvitiia : Sbornik nauchnykh statei po materialam X Mezhdunarodnoi nauchno-prakticheskoi konferentsii, Ufa, 04 aprelia 2023 goda. Tom Chast 3. – Ufa: Obshchestvo s ogranichennoi otvetstvennostiu Nauchno-izdatelskii tsentr Vestnik nauki, 2023. – S. 196-206. – EDN RSALAH.

6. Svinoukhov, D. D. Sravnenie sushchestvuiushchikh algoritmov kheshirovaniia / D. D. Svinoukhov, A. V. Abramov, E. Kh. Milushev // Naukosfera. – 2024. – № 5-1. – S. 71-74. – DOI 10.5281/zenodo.11185942. – EDN BDZLJS.

7. Lein, F. E. Issledovanie metodov khraneniia polzovatelskikh parolei i ikh sinkhronizatsii na mobilnykh ustroistvakh / F. E. Lein // Vestnik nauki. – 2024. – T. 1, № 5(74). – S. 512-522. – EDN ISTUTJ.

8. Batubara, T. P. Analysis Performance BCRYPT Algorithm to Improve Password Security from Brute Force / T. P. Batubara, S. Efendi, E. B. Nababan // Journal of Physics: Conference Series. – 2021. – Vol. 1811, No. 1. – P. 012129. – DOI 10.1088/1742-6596/1811/1/012129. – EDN TTSZOX.

9. Shmakov, S. E. Vzaimodeistvie patternov proektirovaniia dlia effektivnoi web-razrabotki / S. E. Shmakov, E. V. Shchennikova, A. E. Opredelentseva // Uchenye zapiski UlGU. Seriia: Matematika i informatsionnye tekhnologii. – 2021. – № 2. – S. 90-96. – EDN YQJJOH.

10. Fedorova, O. Single Responsibility Principle / O. Fedorova // Sistemnyi administrator. – 2024. – № 1-2(254-255). – S. 62-63. – EDN ZHTWLW.

11. Dekhtievskii, S. A. Printsipy SOLID i ikh primenenie v razrabotke programmnogo obespecheniia / S. A. Dekhtievskii, G. S. Budarnyi // Nauchnyi aspekt. – 2024. – T. 43, № 4. – S. 5635-5641. – EDN RBCDIR.

12. Radkovskii, S. A. Ispolzovanie freimvorka Streamlit dlia sozdaniia virtualnykh laboratornykh rabot v vide veb-prilozhenii / S. A. Radkovskii, G. V. Kovalenko // Sbornik nauchnykh trudov Donetskogo instituta zheleznodorozhnogo transporta. – 2024. – № 4(75). – S. 61-72. – EDN TDRGYB.

13. Meziane, H. A Study of Modelling IoT Security Systems with Unified Modelling Language (UML) / H. Meziane, N. Ouerdi // International Journal of Advanced Computer Science and Applications. – 2022. – Vol. 13, No. 11. – DOI 10.14569/ijacsa.2022.0131130. – EDN SMPDJQ.

Загрузки

Опубликован

02.12.2025

Выпуск

Раздел

ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ И ТЕЛЕКОММУНИКАЦИИ

Как цитировать

[1]
2025. Алгоритмы реализации аутентификации пользователей для веб-приложений на основе библиотеки Streamlit. Вестник Донецкого университета. Серия 04. Технические науки. 4 (Dec. 2025), 130–141. DOI:https://doi.org/10.5281/zenodo.18229848.