Задача сделать прозрачную авторизацию доменных пользователей в опубликованных базах 1c на веб сервере.
В наличии имеется тестовый контур:
1. Active Directory на Windows Server 2019 (dc01.firm.corp) (192.168.2.1)
2. 1С сервер 8.3.20.1789 на Windows Server 2019 (1csrv01.firm.corp) (192.168.2.9)
3. Веб сервер на Debian 11.6 (websrv01.firm.corp) (192.168.2.100)
4. SQL сервер для 1С сервера (sqlsrv01.firm.corp) (192.168.2.2)
В рабочем контуре сейчас всё работает, но в Windows связке AD + 1C + IIS + SQL и хотелось бы Веб часть перевести на Linux Apache, а когда заработает добавлю SSL.
Итог.
Авторизация от доменного пользователя проходит, но не смотря на то, что в настройках пользователя стоит "Аутентификация операционной системы", 1С показывает окно с выбором пользователя и пароля. Как я понял веб сервер авторизирует доменного пользователя, но не верно отдает учетные данные на сервер 1С.
Во вложении часть технологического журнала во время логина на Веб сервер.
В интернете много готовых сборок, но во всех случаях 1С сервер используют вместе с Apache, а в моём случае это два разных сервера и две разные операционные системы. Кто сталкивался отзовитесь?
(1) Вроде бы что-то в логе исправленных ошибок в последнем релизе 8.3.22 что-то было про это. Может быть это исправление распространится и на более старые платформы - тоже нужно смотреть.
(2) Я нашел на ИТС, что аж в Версии 8.3.19 появилась такая возможность, а у меня 8.3.20.1789
Версии 8.3.19
Реализована возможность использовать частичное делегирование Kerberos для выполнения аутентификации ОС в том случае, если кластер серверов работает под управлением ОС Windows, а веб-сервер и клиентское приложение расположены каждый на своем компьютере и этот компьютер отличается от компьютера, на котором работает кластер серверов.
Для средств администрирования кластера серверов реализована возможность указания имени участника-службы (SPN):
В консоли администрирования кластера, в свойствах рабочего сервера, реализовано свойство Имя службы (SPN) сервера 1С:Предприятия.
Свойство объекта АдминистрированиеРабочийСервер.ИмяСлужбыСервера.
Свойство объекта IWorkingServerInfo.ServicePrincipalName для средств администрирования с использованием COM-соединения.
Методы getServicePrincipalName(), setServicePrincipalName() интерфейса IWorkingServerInfo для средств администрирования из языка Java.
Параметр service-principal-name для команд rac server insert, rac server update.