py.lib.aw_web_tools
2025-10-19
Parent:c53a61e27af8
py.lib.aw_web_tools/src/aw_web_tools/authelia_helper.py
.. v1.202510.3 * Логическая ошибка в процедуре фильтрации групп пользователя
1 # coding: utf-8
2 """\
3 Поддержка работы с системой авторизации [authelia](https://www.authelia.com/)
4 """
12 # Константы
13 HEADER_USER = 'Remote-User' # Заголовок по умолчанию, в котором система аутентификации передаёт имя УЗ пользователя
14 HEADER_GROUPS = 'Remote-Groups' # Заголовок по умолчанию, в котором система аутентификации передаёт группы пользовтеля
15 HEADER_EMAIL = 'Remote-Email' # Заголовок по умолчанию, в котором система аутентификации передаёт e-mail пользователя
16 HEADER_NAME = 'Remote-Name' # Заголовок по умолчанию, в котором система аутентификации передаёт имя пользователя
21 Базовый класс исключений модуля адаптера Authelia
22 """
27 Проблемы с авторизацией пользователя
28 """
44 ):
46 :param group_filter: Фильтр передаваемый системой аутентификации групп, которые интересны нам. Если ``None``
47 группы, передаваемые в заголовке не фильтруются
48 :param header_user: Имя заголовка с именем УЗ пользователя.
49 :param header_groups: Имя заголовка с группами пользователя
50 :param header_email: Имя заголовка c e-mail пользователя
51 :param header_name: Имя заголовка с именем пользователя
52 :param fake_auth: Режим без авторизации. Создаётся для отладки или решения проблем с авторизацией.
53 Не проводит авторизацию по заголовкам, а вместо этого подставляет заранее заданные значения.
54 """
72 Обработка запроса. Если заголовки системы авторизации присутствуют, информацией из них заполняется
73 объект ``AHUser``. Если данные не найдены, то будет возбуждено исключение.
75 :param request: Обрабатываемый запрос
76 :returns: Объект ``AHUser`` с данным авторизации.
77 """
80 return AHUser(uname='__UNK__', groups=[], name='John Doe', email='devnull@localhost.localdomain')
101 AHError(f'Ошибка в фильтре групп. Для ключа "{grp}" не нашлось значения, хотя оно присутствует '