Настройка аутентификации SSO на Proxmox через Authentik [закрыто]Python

Программы на Python
Ответить
Anonymous
 Настройка аутентификации SSO на Proxmox через Authentik [закрыто]

Сообщение Anonymous »

Я работаю над реализацией SSO-аутентификации в Proxmox через Authentik и столкнулся с постоянной проблемой.
В настоящее время все группы, к которым принадлежит пользователь, экспортируются в Proxmox. Требование состоит в том, что если пользователь принадлежит к нескольким группам, следует экспортировать только группу с наивысшим приоритетом.
Чтобы справиться с этим, я написал фильтр Python, который назначает приоритет группам на основе их уровня разрешений и возвращает только группу с самым высоким приоритетом. Я прилагаю сценарий для справки.
GROUP_PRIORITY = {
"Infr_Adm": 3,
"Infr_Sen": 2,
"Infr_Staf": 1,
}

ALLOWED_GROUPS = set(GROUP_PRIORITY.keys())

# --- Retrieve the user's groups ---
user_group_names = [g.name for g in user.ak_groups.all()]
matched_groups = [g for g in user_group_names if g in ALLOWED_GROUPS]

# --- Block if the user belongs to no allowed group ---
if not matched_groups:
raise Exception(
"Access denied: the user does not belong to any allowed group."
)

# --- Select the highest-priority group (simulating removal of lower-priority groups) ---
# We simulate “removal of lower-priority groups” by keeping only the highest one
final_group_name = max(matched_groups, key=lambda g: GROUP_PRIORITY[g])

# --- Return only this group for Proxmox ---
return [final_group_name]


Подробнее здесь: https://stackoverflow.com/questions/799 ... -authentik
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»