How To: Примеры работы с пользователями сайта

Авторизировать пользователя

Авторизация пользователя производится методом setCurrent() объекта пользователя сайта:

$oSiteuser = Core_Entity::factory('Siteuser', 123);
$oSiteuser->setCurrent();

Получить текущего пользователя

Метод getCurrent() пользователя сайта вернет текущего авторизованного пользователя или NULL в случае, если пользователь не авторизован.

$oSiteuser = Core_Entity::factory('Siteuser')->getCurrent();

Проверить, состоит ли пользователь в заданной группе

$oSiteuser = Core_Entity::factory('Siteuser', 123);
// Состоит ли пользователь в группе 17
$oSiteuser_Group = $oSiteuser->Siteuser_Groups->getById(17);
if (!is_null($oSiteuser_Group))
{
  // состоит в группе
}

Вывод групп, которым принадлежит пользователь

$oSiteuser = Core_Entity::factory('Siteuser')->getCurrent();

if ($oSiteuser)
{
   $aSiteuser_Groups = $oSiteuser->Siteuser_Groups->findAll();
   foreach ($aSiteuser_Groups as $oSiteuser_Group)
   {
      echo '<br/>', htmlspecialchars($oSiteuser_Group->name);
   }
}

Не нашли ответ на свой вопрос в документации? Направьте обращение в службу поддержки или онлайн чат.

Комментарии

  • Выброс события при входе пользователя в систему

    Собственно вопрос: создается ли событие при входе пользователя в систему, или каким другим путем, не отредактировав код модуля siteuser, можно запустить определенные процессы по факту входа пользователя в систему?.

    10.02.2020 13:39:36
    kad_selimoves
    kad_selimoves

    Без темы

    Клиент авторизуется в типовой динамической странице, события в данном случае не нужны, вы в коде ТДС можете написать требуемую логику.

    10.02.2020 13:40:48
    hostcms