Добрый день. Подскажите, пожалуйста, можно ли ограничить число сессий с одного аккаунта, т.е. когда пользователь зашёл под своим аккаунтом нельзя было войти под его аккаунтом, пока тот не выйдет.
Нашёл ещё похожую тему (мёртвая) на форуме битрикса и там предлагают в init.php вставить след. код (но у меня он не заработал либо руки кривые):
AddEventHandler("main", "OnBeforeUserLogin", "CheckUserIsAlreadyOnline");
function CheckUserIsAlreadyOnline(&$arFields)
{
if(isset($arFields['LOGIN']) && strlen($arFields['LOGIN']) > 0)
{
$targetGroupsId = array(5); // Массив Id групп пользователей, для которых запретить одновременные "онлайны".
$user = CUser::GetByLogin($arFields['LOGIN'])->Fetch();
if(!$user) return;
$userGroups = CUser::GetUserGroup($user['ID']);
if(array_intersect($targetGroupsId, $userGroups) && !in_array(1, $userGroups)
&& CUser::IsOnline($user['ID']))
{
global $APPLICATION;
$APPLICATION->throwException("Пользователь с данным логином уже авторизован.");
return false;
}
}
}