add AD 2FA group check to instruct Trueconf module
This commit is contained in:
+43
-1
@@ -586,14 +586,55 @@ def _instruct_main_menu(emojis: dict) -> str:
|
||||
f"{emojis['2']} — 📧 Почта\n\n"
|
||||
f"<i>{emojis['0']} — В главное меню</i>"
|
||||
)
|
||||
|
||||
def _instruct_trueconf(emojis: dict) -> str:
|
||||
"""Статический текст Trueconf — без проверки группы."""
|
||||
return (
|
||||
"🖥 <b>Инструкция по Trueconf</b>\n\n"
|
||||
"Данная функция находится в разработке.\n\n"
|
||||
f"<i>{emojis['9']} — Назад\n{emojis['0']} — В главное меню</i>"
|
||||
)
|
||||
|
||||
|
||||
def _instruct_trueconf_with_ad(emojis: dict, cn: str) -> str:
|
||||
"""
|
||||
Текст Trueconf с проверкой группы 2FA.
|
||||
cn — CN пользователя из AD.
|
||||
"""
|
||||
from utils.ad_checker import check_group_membership
|
||||
|
||||
result = check_group_membership(cn, "2FA")
|
||||
|
||||
if not result["found"]:
|
||||
return (
|
||||
f"🖥 <b>Инструкция по Trueconf</b>\n\n"
|
||||
f"Пользователь {cn} не найден в Active Directory.\n\n"
|
||||
f"<i>{emojis['9']} — Назад\n{emojis['0']} — В главное меню</i>"
|
||||
)
|
||||
|
||||
if result["in_group"]:
|
||||
body = (
|
||||
f"🖥 <b>Инструкция по Trueconf</b>\n\n"
|
||||
f"✅ <b>Доступ к Trueconf разрешён.</b>\n\n"
|
||||
f"У вас есть доступ к функциям Trueconf.\n\n"
|
||||
f"Детали:\n"
|
||||
f"• CN: {result['cn']}\n"
|
||||
f"• Группы 2FA: {', '.join(result['matching_groups'])}\n\n"
|
||||
f"<i>{emojis['9']} — Назад\n{emojis['0']} — В главное меню</i>"
|
||||
)
|
||||
else:
|
||||
body = (
|
||||
f"🖥 <b>Инструкция по Trueconf</b>\n\n"
|
||||
f"❌ <b>Доступ к Trueconf запрещён.</b>\n\n"
|
||||
f"У вас нет группы 2FA в Active Directory.\n\n"
|
||||
f"Детали:\n"
|
||||
f"• CN: {result['cn']}\n"
|
||||
f"• Групп 2FA: 0\n\n"
|
||||
f"<i>{emojis['9']} — Назад\n{emojis['0']} — В главное меню</i>"
|
||||
)
|
||||
|
||||
return body
|
||||
|
||||
|
||||
def _instruct_email(emojis: dict) -> str:
|
||||
return (
|
||||
"📧 <b>Инструкция по Почте</b>\n\n"
|
||||
@@ -605,4 +646,5 @@ def _instruct_email(emojis: dict) -> str:
|
||||
|
||||
INSTRUCT_MAIN_MENU_TEXT = _instruct_main_menu(EMOJI_DIGITS)
|
||||
INSTRUCT_TRUECONF_TEXT = _instruct_trueconf(EMOJI_DIGITS)
|
||||
INSTRUCT_TRUECONF_WITH_AD = _instruct_trueconf_with_ad
|
||||
INSTRUCT_EMAIL_TEXT = _instruct_email(EMOJI_DIGITS)
|
||||
|
||||
Reference in New Issue
Block a user