При настройке бесшовной интеграции между 1С:ERP Управление предприятием и 1С:Документооборот (ДО) специалисты часто сталкиваются с неприятной проблемой. При попытке установить соединение через веб-сервисы система запрашивает имя пользователя и пароль, наотрез отказываясь авторизовать пользователя средствами операционной системы (доменная Windows-авторизация). При этом, если запустить 1С:Документооборот напрямую в веб-клиенте через браузер, доменная авторизация срабатывает мгновенно и без лишних вопросов.
В этой статье мы подробно разберем, почему возникает эта ошибка, проанализируем архитектурные ограничения платформы «1С:Предприятие 8.3» и рассмотрим несколько эффективных способов решения данной проблемы, включая классические рекомендации фирмы «1С» и современные технологии сквозной аутентификации.
Выясним, что происходит на программном уровне в момент попытки подключения. При попытке инициализации веб-сервиса бесшовной интеграции на стороне ERP система пытается создать объект WSОпределения. В этот момент в отладчике мы можем наблюдать следующее исключение:
ВызовКонструктора = СтрШаблон(
"Определения = Новый WSОпределения(
| МестоположениеWSDL + ""ws/dm.1cws?wsdl"",
| ИмяПользователя,
| Пароль,,
| Таймаут,
| ЗащищенноеСоединение%1);",
ПараметрАутентификацияОС
);
Попытка
Выполнить(ВызовКонструктора);
Исключение
ТекстСообщенияОбОшибке = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке);
КонецПопытки;
Платформа возвращает ошибку: «Аутентификация пользователя не выполнена. URL сервиса: ...». При этом параметры ИмяПользователя и Пароль передаются пустыми, так как разработчик рассчитывает на автоматическую авторизацию средствами операционной системы (SSO).
Проанализируем, почему этот механизм, исправно работающий при прямом входе в базу через тонкий или веб-клиент, дает сбой при интеграции двух систем.
Главная причина кроется в особенностях клиент-серверной архитектуры «1С:Предприятия» при работе с управляемыми формами:
rphost). Клиентское приложение лишь отправляет команду на сервер ERP, а сервер сам инициирует HTTP/WS-запрос к веб-серверу, где опубликован «1С:Документооборот».usr1cv8 или выделенная доменная учетная запись службы). Сервер 1С физически «не знает» доменных учетных данных текущего пользователя, сидящего за клиентским компьютером, и не может передать их дальше.Именно поэтому, даже если вы пропишете учетную запись службы сервера 1С (например, domain\usr1cv8_server) в качестве пользователя в 1С:Документообороте и свяжете ее с доменным именем, интеграция заработает, но все действия всех пользователей в ДО будут регистрироваться под одной системной учетной записью сервера. Это нарушает базовые принципы безопасности и аудита данных.
Рассмотрим, какими путями мы можем решить эту задачу.
Фирма «1С» в документации к «Библиотеке интеграции с 1С:Документооборотом» (БИД) рекомендует отказаться от попыток пробросить доменную авторизацию напрямую через веб-сервер для служебных запросов. Вместо этого предлагается разделить логику входа для интерактивных пользователей и для программных интерфейсов (API).
Разберем этот процесс по шагам:
/u_do. Настраиваем в IIS для этого виртуального каталога Windows Authentication (Встроенная проверка подлинности Windows), а анонимный доступ (Anonymous Authentication) отключаем. Через эту ссылку пользователи будут заходить в ДО через браузер или тонкий клиент без ввода пароля./ws_do. В настройках IIS для этого каталога обязательно включаем анонимную аутентификацию (Anonymous Authentication), а доменную авторизацию Windows отключаем.http://server/ws_do/ws/dm.1cws?wsdl).Этот способ является наиболее надежным, стабильным и простым в администрировании.
Если вы работаете на современных версиях платформы «1С:Предприятие» (начиная с версии 8.3.21) и актуальных релизах 1С:ERP и 1С:ДО 3.0, вам доступна технология сквозной аутентификации с использованием временных токенов безопасности JWT (JSON Web Token).
Рассмотрим подробнее, как работает этот механизм, который полностью заменяет собой сложную доменную авторизацию:
При этом подходе авторизация происходит автоматически за счет доверительных отношений между базами данных:
Преимущества JWT-авторизации: пользователю вообще не нужно вводить пароли от ДО, системному администратору не требуется настраивать сложные доменные политики Kerberos, а вся интеграция работает через стандартный открытый веб-порт без привязки к Windows-домену.
Для крупных корпоративных ландшафтов, где помимо ERP и ДО эксплуатируются другие конфигурации 1С, оптимальным решением является внедрение единой точки входа (Single Sign-On) на базе протокола OpenID или внешних провайдеров (например, Keycloak, Avanpost FAM, Authentik).
Проанализируем общую схему настройки:
default.vrd для ERP и ДО прописываются настройки авторизации через этот провайдер.Попытка настроить бесшовную интеграцию через доменную авторизацию ОС «в лоб» обречена на провал из-за особенностей серверной архитектуры 1С и ограничений безопасности Windows (проблемы Double Hop). Чтобы успешно решить задачу авторизации, воспользуйтесь проверенным временем методом разделения публикаций на веб-сервере или переведите связку ваших конфигураций на использование современных и безопасных JWT-токенов.