- Модуль: security
- Путь к файлу: ~/bitrix/modules/security/classes/general/user.php
- Класс: CSecurityUser
- Вызов: CSecurityUser::setActive
static function setActive($pActive = false)
{
$otpRecheckAgent = 'BitrixSecurityMfaOtpEvents::onRecheckDeactivate();';
if($pActive)
{
if(!CSecurityUser::isActive())
{
RegisterModuleDependences("main", "OnBeforeUserLogin", "security", "CSecurityUser", "OnBeforeUserLogin", "100");
RegisterModuleDependences("main", "OnAfterUserLogout", "security", "CSecurityUser", "OnAfterUserLogout", "100");
CAgent::RemoveAgent($otpRecheckAgent, "security");
CAgent::Add(array(
"NAME" => $otpRecheckAgent,
"MODULE_ID" => "security",
"ACTIVE" => "Y",
"AGENT_INTERVAL" => 3600,
"IS_PERIOD" => "N"
));
COption::SetOptionString('security', 'otp_enabled', 'Y');
}
}
else
{
if(CSecurityUser::isActive())
{
UnRegisterModuleDependences("main", "OnBeforeUserLogin", "security", "CSecurityUser", "OnBeforeUserLogin");
UnRegisterModuleDependences("main", "OnAfterUserLogout", "security", "CSecurityUser", "OnAfterUserLogout");
CAgent::RemoveAgent($otpRecheckAgent, "security");
COption::SetOptionString('security', 'otp_enabled', 'N');
}
}
}