Как исправить ошибку «Пользователь ИБ не идентифицирован» в версиях платформы 8.3.27 и 8.5.1?

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

Проблема с идентификацией пользователя информационной базы является одной из самых неприятных и трудноуловимых ошибок в последних релизах технологической платформы 1С:Предприятие (для оперативного реагирования на сбои можно использовать HTTP-сервис для перехвата штатных исключений) — есть решение для уведомлений об ошибках в Telegram. Особенно остро она проявилась в ветке 8.3.27 и экспериментальной 8.5.1. Ошибка «Пользователь ИБ не идентифицирован» прерывает работу пользователей в самый неподходящий момент, причем зачастую это происходит спонтанно. В рамках данной статьи мы подробно разберем природу этого явления, изучим зарегистрированные ошибки вендора и определим пошаговый алгоритм стабилизации системы.

Анализ технической природы ошибки

Давайте разберем, почему возникает это сообщение. В современных версиях платформы (начиная с 8.3.26) механизм аутентификации претерпел значительные изменения. Система стала более требовательной к передаче токенов безопасности между рабочими процессами кластера rphost и сервисом сеансов. Проанализируем ситуацию: когда пользователь подключается к базе, кластер создает сессию и привязывает её к конкретной записи в таблице v8users. Однако из-за ошибок в коде платформы при переключении между узлами кластера или обновлении кеша сеансов связь «сессия — пользователь» разрывается. Система видит активное соединение, но не может сопоставить его ни с одним пользователем, что и приводит к ошибке идентификации.

Ситуация осложняется в многосерверных конфигурациях. Если сервис сеансов (Session Service) и сервис управления пользователями распределены по разным рабочим серверам, микрозадержки в синхронизации данных приводят к тому, что один узел считает пользователя авторизованным, а другой — уже нет. В таких случаях может помочь механизм ограничения количества сеансов для контроля нагрузки на сервис — есть готовая обработка для управления сеансами пользователей.

Официально зарегистрированные ошибки (Bug Reports)

Для системного администратора и разработчика важно понимать, с чем именно они имеют дело. В последних релизах 1С зафиксировано несколько ключевых багов, связанных с этой проблемой. Рассмотрим их подробнее:

  1. Ошибка № 60028589: Исправлена в версии 8.3.27.1989. Касалась общих механизмов технологической платформы.
  2. Ошибка № 70139365: Исправлена в версии 8.3.27.2074. Была связана с регрессией в механизмах безопасности.
  3. Ошибка № 70122275: Проблема, которая затрагивает ветки 8.3.26, 8.3.27.1964 и 8.5.1.1236.

Как мы видим, вендор постоянно выпускает исправления, но ошибка периодически возвращается в новых сборках. Это указывает на глубокую переработку ядра платформы в ветке 8.5.1.

Вариант 1: Обновление платформы до стабильных релизов

Первым и самым логичным шагом является переход на версии, где данные ошибки официально помечены как исправленные. Проанализируем рекомендации:

Вариант 2: Тонкая настройка публикации (default.vrd)

Если ошибка возникает преимущественно у пользователей веб-клиента или при работе через мобильные приложения, нам необходимо обратить внимание на файл default.vrd. В новых версиях платформы изменились требования к параметрам аутентификации. Выясним, как это настроить.

Проверьте наличие параметра renew="true" в секции аутентификации. Этот параметр отвечает за корректное обновление идентификационных данных при истечении времени жизни токена. Пример структуры секции аутентификации в файле публикации:


<point xmlns="http://v8.1c.ru/8.2/virtual-resource"
       base="/YourBaseName"
       ib="Srvr=&quot;ServerName&quot;;Ref=&quot;BaseName&quot;;">
    <authentication renew="true" />
</point>

Добавление этого параметра заставляет платформу инициировать повторную проверку личности пользователя вместо того, чтобы просто сбрасывать сессию с ошибкой «не идентифицирован».

Вариант 3: Настройка требований назначения объектов в кластере

Разберем ситуацию, когда кластер состоит из нескольких рабочих серверов. Часто проблема кроется в «рассинхроне» между узлами. Чтобы исключить этот фактор, мы можем попробовать закрепить критически важные сервисы за центральным сервером. Для удобной настройки этих параметров можно использовать альтернативную консоль администрирования кластера 1С.

Выполните следующие шаги в консоли администрирования кластера (MMC или через утилиту ras) (удобнее через обработку для онлайн-администрирования кластеров):

  1. Откройте свойства вашего кластера и перейдите в раздел «Требования назначения объектов».
  2. Создайте новое требование для объекта «Сервис сеансов» (Session Service).
  3. Установите тип требования «Назначать» и укажите конкретный рабочий сервер (желательно центральный).
  4. Аналогичное действие рекомендуется выполнить для сервиса управления пользователями.

Таким образом, все данные об идентификации будут консолидированы в рамках одного процесса rmngr, что минимизирует вероятность потери данных о пользователе при передаче между процессами.

Вариант 4: Проверка регистра имен пользователей и внешней аутентификации

Проанализируем еще одну неочевидную причину. В тестовых сборках 8.3.27 выявлена повышенная чувствительность к регистру имен при использовании доменной авторизации (Active Directory). Если в 1С пользователь заведен как Ivanov, а в ОС он авторизован как ivanov, в определенные моменты (например, при обращении к серверным вызовам через BackgroundJobs) сопоставление может дать сбой.

Рекомендация: Приведите имена пользователей в списке 1С в полное соответствие с именами в Active Directory, включая регистр символов. Также стоит временно отключить OpenID-аутентификацию, если она используется, для проверки стабильности системы без этого прокси-слоя.

Профилактические меры и «чистка» системы

Если вышеуказанные методы не помогают оперативно, рассмотрим методы «ручной» очистки системы, которые часто помогают снять остроту проблемы:

  1. Очистка сеансовых данных: На сервере приложений необходимо остановить службу 1С и очистить содержимое папки snccntx, которая находится в каталоге данных кластера (обычно внутри папки reg_1541). Там хранятся временные данные сеансов, которые могут быть повреждены.
  2. Тестирование и исправление: Запустите процедуру «Тестирование и исправление» в конфигураторе. Нас интересует флаг «Проверка логической целостности». Это позволит восстановить целостность внутренней таблицы v8users, если в ней возникли ошибки после некорректного обновления платформы.
  3. Пересоздание пользователя: В исключительных случаях, если ошибка преследует только одного конкретного сотрудника, попробуйте удалить его из списка пользователей ИБ и создать заново. Это принудительно обновит его внутренний уникальный идентификатор (UUID).

Подводя итог, можно сказать, что ошибка «Пользователь ИБ не идентифицирован» — это комплексная проблема, связанная с эволюцией платформы. Сочетание обновления на последние корректирующие релизы (например, 8.3.27.2130) и правильная настройка параметров публикации renew="true" в большинстве случаев позволяют победить это «зло».

← На главную