При внедрении бесшовной интеграции между 1С:ERP (или УТ, КА) и 1С:Документооборотом одной из самых желанных функций является прозрачный вход пользователя без ввода пароля, основанный на учетной записи Windows. Однако на практике многие специалисты сталкиваются с тем, что в клиент-серверном варианте работы эта схема перестает функционировать. Разберем подробно, почему так происходит, и какие современные способы решения существуют. Для предварительного заведения учетных записей сотрудников можно использовать обработку для загрузки пользователей в 1С:Документооборот из Active Directory.
Давайте разберем типичную ситуацию. Пользователь успешно авторизуется в домене и запускает ТонкийКлиент 1С:ERP. Система распознает его через АутентификацияОС. Проблема возникает в тот момент, когда ERP пытается обратиться к веб-сервису 1С:Документооборота (ДО) для получения данных. В клиент-серверной архитектуре этот запрос инициирует не компьютер пользователя напрямую, а СерверПриложений (кластер 1С).
С точки зрения операционной системы Windows происходит так называемый «двойной прыжок» (Double Hop). Первый прыжок — от пользователя к серверу ERP. Второй прыжок — от сервера ERP к серверу ДО. По умолчанию безопасность Windows (протокол NTLM) запрещает передачу полномочий пользователя дальше первого сервера. В итоге запрос к 1С:Документообороту приходит от имени служебной учетной записи, под которой запущен rphost (например, USR1CV8), а не от имени реального сотрудника. Именно поэтому в ЖурналРегистрации мы видим ошибки доступа или требование ввести пароль.
Проанализируем разницу с файловым режимом. В файловом варианте запрос к веб-сервису идет непосредственно с компьютера пользователя, поэтому там АутентификацияОС отрабатывает корректно. Как только мы переходим на SQL и сервер приложений, стандартная схема ломается.
Если ваша инфраструктура жестко завязана на Active Directory, единственным способом заставить работать чистую аутентификацию ОС является настройка делегирования Kerberos. Посмотрим на этот процесс по шагам:
Windows Authentication, а провайдеры выставлены в порядке Negotiate, NTLM.В файле web.config на стороне публикации ДО часто требуется включить имперсонализацию:
<system.web>
<identity impersonate="true"/>
</system.web>
Важно: Этот метод крайне сложен в поддержке и не будет работать для мобильных клиентов или пользователей, подключающихся не из доменной сети (например, через VPN без авторизации в AD). Если подобные ограничения сетевой безопасности делают использование веб-сервисов невозможным, альтернативой становится платформа для создания программных роботов, позволяющая автоматизировать перенос данных через пользовательский интерфейс.
Современная платформа 1С (начиная с версии 8.3.18) предлагает уйти от привязки к протоколам Windows в пользу стандарта OpenID Connect (OIDC). Это позволяет реализовать настоящий Single Sign-On (SSO), который работает везде: в тонком клиенте, браузере и мобильном приложении.
Разберем логику работы этого механизма. Вместо того чтобы передавать "личность" пользователя через сетевые протоколы ОС, системы доверяют общему провайдеру идентификации. Рассмотрим подробнее шаги настройки:
Этот метод полностью снимает проблему "второго прыжка", так как серверу ERP больше не нужно притворяться пользователем перед Windows — он просто предъявляет валидный токен, подписанный доверенным центром.
В новых версиях 1С:Документооборот 3.0 реализована поддержка JWT (JSON Web Token). Это упрощенный вариант интеграции, где ERP сама может выступать в роли доверенного источника. Проанализируем, как это работает программно:
Для программной настройки в коде интеграции могут использоваться объекты типа ТокенДоступа. Это позволяет избежать проблем с регламентными заданиями, которые выполняются на сервере без участия пользователя. В коде это выглядит примерно так:
// Пример логики формирования параметров интеграции
ПараметрыИнтеграции = Новый Структура;
ПараметрыИнтеграции.Вставить("ИспользоватьТокен", Истина);
ПараметрыИнтеграции.Вставить("ДанныеПользователя", ПолучитьСведенияОПользователе());
Выясним причину, по которой обычная аутентификация ОС часто бесполезна для современных компаний. Как только сотрудник выходит за пределы офиса или берет в руки планшет, доменная авторизация перестает работать прозрачно. При использовании веб-клиента браузер может пробросить доменные данные, но только если он правильно настроен (включен Integrated Windows Authentication в свойствах зоны "Местная сеть").
Для мобильных устройств единственным жизнеспособным вариантом остается использование OpenID Connect или публикация баз через реверс-прокси с поддержкой современных протоколов авторизации.
Подведем итоги нашего анализа. Платформа 1С до сих пор не имеет встроенного механизма автоматической "проброски" доменного пользователя через сервер приложений (имперсонализации) для веб-сервисов. Поэтому:
OpenID Connect.Помните, что безопасность и удобство пользователя в современных системах достигаются не за счет старых протоколов Windows, а через использование стандартизированных токенов доступа, которые поддерживаются платформой 1С на глубоком уровне.