О разделе «CUser»
CUser в 1С-Битрикс: статьи, инструкции и примеры кода из базы знаний Bitrix-Help.
CUser в 1С-Битрикс: статьи, инструкции и примеры кода…
10 материалов

CUser::Update изменяет данные существующего пользователя из кода — и в этом же методе кроется распространённая проблема: он способен молча перезаписать поля, которые вы не собирались трогать, если структура передаваемого массива задумана неверно. Базовый вызов <?php $user = new CUser; $result = $user->Update($userId, [ ‘NAME’ => ‘Иван’, ‘LAST_NAME’ => ‘Петров’, ‘UF_PHONE’ => ‘+79001234567’, ]); if (!$result) { echo ‘Ошибка: ‘ ….

CUser::Add создаёт пользователя из кода — в обход штатной формы регистрации на сайте. Метод нужен при импорте базы клиентов, при создании учётной записи после оформления гостевого заказа или при синхронизации с внешней системой. Базовый вызов <?php $user = new CUser; $fields = [ ‘LOGIN’ => ‘ivan_petrov’, ‘EMAIL’ => ‘ivan@example.com’, ‘PASSWORD’ => ‘x7K9mPq2’, ‘CONFIRM_PASSWORD’ => ‘x7K9mPq2’, ‘NAME’ => ‘Иван’, ‘LAST_NAME’ =>…

Завершение сессии пользователя выглядит как простая операция, но имеет несколько нюансов — от разницы между выходом текущего пользователя и принудительным завершением чужой сессии до того, что реально происходит с данными при вызове. Разберём CUser::Logout. Базовый вызов для текущего пользователя <?php global $USER; $USER->Logout(); LocalRedirect(‘/’); Logout() завершает сессию текущего авторизованного пользователя — удаляет данные авторизации из сессии и очищает связанные cookie….

CUser::GetList — основной способ выбрать пользователей из базы по условию: активных, из определённой группы, зарегистрированных за период, с заполненным конкретным полем. Метод старого ядра, но по-прежнему рабочий и распространённый вариант для таких выборок. Базовый вызов <?php $result = CUser::GetList( $by = ‘ID’, $order = ‘ASC’, [‘ACTIVE’ => ‘Y’], [‘SELECT’ => [‘UF_PHONE’]] ); while ($user = $result->Fetch()) { echo $user[‘LOGIN’] ….

CUser::Authorize авторизует пользователя программно — без формы входа, без проверки пароля через интерфейс. Метод нужен там, где вход происходит по иной логике: после подтверждения по ссылке из письма, после успешной оплаты гостевого заказа, при входе через внешний сервис. Разберём сигнатуру метода, разницу между обычной и «тихой» авторизацией и типичные ошибки, из-за которых пользователь остаётся неавторизованным несмотря на успешный вызов. Базовый…

CUser::SendPassword запускает штатный сценарий восстановления пароля: генерирует ссылку с ограниченным сроком действия и отправляет её на почту пользователя. Разберём, как вызвать его вручную, и какие настройки влияют на то, что получит пользователь. Базовый вызов <?php $user = new CUser; $result = $user->SendPassword([ ‘LOGIN’ => ‘ivan_petrov’, ‘EMAIL’ => », ]); if ($result) { echo ‘Письмо отправлено’; } else { echo ‘Ошибка:…

Группы пользователей — РѕСЃРЅРѕРІР° системы прав доступа РІ 1РЎ-Битрикс: РѕС‚ РЅРёС… зависит видимость инфоблоков, цена РІ каталоге, доступные разделы административной части. CUser::GetUserGroup Рё связанные методы дают программный доступ Рє этой структуре. Получение СЃРїРёСЃРєР° РіСЂСѓРїРї пользователя <?php $groups = CUser::GetUserGroup($userId); print_r($groups); // [1, 5, 8] Метод возвращает простой массив идентификаторов РіСЂСѓРїРї, РІ которые РІС…РѕРґРёС‚ пользователь. Для текущего авторизованного посетителя есть более…

IsAuthorized, GetID и IsAdmin — три метода класса CUser, которые чаще всего вызываются вместе для одной цели: понять, кто перед нами, и что ему разрешено. Разберём каждый и типичные ошибки в порядке их вызова. IsAuthorized: авторизован ли посетитель <?php global $USER; if ($USER->IsAuthorized()) { // посетитель вошёл под своим аккаунтом } else { // гость } Это первая проверка почти…

CUser::GetByID — самый частый способ получить данные конкретного пользователя, когда идентификатор уже известен: на странице профиля, в обработчике события, при выводе автора материала. Разберём метод и отдельно — работу с текущим авторизованным пользователем, которую с ним регулярно путают. Получение конкретного пользователя <?php $result = CUser::GetByID($userId); if ($user = $result->Fetch()) { echo $user[‘NAME’] . ‘ ‘ . $user[‘LAST_NAME’]; echo $user[‘EMAIL’]; }…
CUser — класс главного модуля 1С-Битрикс для работы с пользователями: регистрация, авторизация, выборка, редактирование и удаление. Доступен с версии 3.0.6 и на каждой странице сайта автоматически создаётся его экземпляр — глобальный объект $USER, который хранит данные о текущем посетителе. В новом ядре D7 у класса есть аналог — Bitrix\Main\UserTable. Ниже разберём, какие поля есть у пользователя, какие методы предлагает CUser,…
CUser в 1С-Битрикс: статьи, инструкции и примеры кода из базы знаний Bitrix-Help.