Аутентификация всякого вида работает успешно, за исключением через АD на Web.
С такой ошибкой в логе.
Скрытый текст
37:16.918002-0,EXCP,2,process=rphost,p:processName=test_base,OSThread=3146,t:clientID=1808,t:applicationName=WebServerExtension,t:computerName=***,t:connectID=1567,Exception=a01f465c-ed70-442e-ada5-847668d7a41c,Descr='./src/VResourceInfoBaseServerImpl.cpp(1461):
a01f465c-ed70-442e-ada5-847668d7a41c: Идентификация пользователя не выполнена
Неправильное имя или пароль пользователя'
37:16.918003-0,EXCP,2,process=rphost,p:processName=test_base,OSThread=3146,t:clientID=1808,t:applicationName=WebServerExtension,t:computerName=***,t:connectID=1567,Exception=580392e6-ba49-4280-ac67-fcd6f2180121,Descr='./src/VResourceInfoBaseImpl.cpp(1103):
580392e6-ba49-4280-ac67-fcd6f2180121: Неправильное имя пользователя или пароль
Ошибка при выполнении запроса POST к ресурсу /e1cib/login:'
37:16.923003-0,EXCP,2,process=rphost,p:processName=test_base,OSThread=3146,t:clientID=1808,t:applicationName=WebServerExtension,t:computerName=***,t:connectID=1567,Exception=a01f465c-ed70-442e-ada5-847668d7a41c,Descr='./src/VResourceInfoBaseServerImpl.cpp(1461):
a01f465c-ed70-442e-ada5-847668d7a41c: Идентификация пользователя не выполнена
Неправильное имя или пароль пользователя'
37:16.924000-0,EXCP,2,process=rphost,p:processName=test_base,OSThread=3146,t:clientID=1808,t:applicationName=WebServerExtension,t:computerName=***,t:connectID=1567,Exception=580392e6-ba49-4280-ac67-fcd6f2180121,Descr='./src/VResourceInfoBaseImpl.cpp(1103):
580392e6-ba49-4280-ac67-fcd6f2180121: Неправильное имя пользователя или пароль
Ошибка при выполнении запроса POST к ресурсу /e1cib/login:'
Встречал где-то замечание, что такая проблема может быть из-за различия в регистре между тем, что ожидает получить система и тем, что отдаёт 1С. Отлавливается через тех. журнал, лечится приведением записей о доменных учетках в 1С к тому регистру, которая ожидает система.
Из схожих проблем - публикация на веб-сервере Apache, когда имя публикации становится чувствительным к регистру, чем не страдает IIS.
(4)
Если вы имеете ввиду правильность заполнения в Конфигураторе - Публикация на web-сервере, то у нас там ничего нет.
На linux делаются основные настройки.
(6) На днях смотрел оффициальную презентацию новых функций 19 платформы. Советую найти и посмотреть - они как раз эту часть поменяли и значительно расширили. Как раз то, что нужно вам.
1) Описание конфигурации
- Версия и релиз ОС сервера с Active Directory: Windows Server 2012 R2 Версия 6.3 (сборка 9600)
- Версия и релиз ОС сервера с сервером 1С и web-сервером Apache: CentOS Linux release 7.8.2003 (Core)
- Релиз платформы сервера 1С: Предприятия: 1С: Предприятие 8.3 (8.3.18.1334)
- Релиз сервера PostgreSQL (так же указать версия от 1С т.е. с Портала 1С или нет?): (PostgreSQL) 11.8
- Релиз web-сервера Apache: Apache/2.4.6 (CentOS)
- Версия и релиз ОС компьютера-клиента с которого выполнялся тестовый вход в базу 1С: Windows 10 Версия 1909 (сборка ОС 18363.1556)
- Какая конфигурация 1С (база 1С) и релиз. (указать используется демо версия, пустая или копия рабочей базы): пустая на 5 пользователей
2) Что сделано:
- Аутентификация Kerberos
- NTLM-авторизация Apache
3) Что имеем:
При прямом подключении к базе на сервере 1С через тонкий клиент 1С: Предприятия авторизация пользователя в 1С
средствами операционной системы проходит корректно и без ошибок, пользователь сразу авторизуется согласно сопоставлению пользователя 1С
и AD в настройках профиля пользователя. Однако при подключении к web-публикации этой же базы, опубликованной на web-сервере Apache, как при
подключении через тонкий клиент так и при подключении к базе через браузер, открывается окно авторизации (логин и пароль) и в логах сервера пишет ошибку (лог ниже)
. При этом на тестовом сайте, опубликованном на этом же web-сервере Apache авторизация пользователей через AD работает корректно.
Лог ошибки на сервере:
14:22.295000-0,EXCP,2,process=rphost,p:processName=test_base,OSThread=20164,t:clientID=1083557,t:applicationName=WebServerExtension,t:computerName=doc-tst01.vtkbank.priv,t:connectID=1287038,Exception=a01f465c-ed70-442e-ada5-847668d7a41c,Descr='./src/VResourceInfoBaseServerImpl.cpp(1461):
a01f465c-ed70-442e-ada5-847668d7a41c: Идентификация пользователя не выполнена
Неправильное имя или пароль пользователя'
14:22.295001-0,EXCP,2,process=rphost,p:processName=test_base,OSThread=20164,t:clientID=1083557,t:applicationName=WebServerExtension,t:computerName=doc-tst01.vtkbank.priv,t:connectID=1287038,Exception=580392e6-ba49-4280-ac67-fcd6f2180121,Descr='./src/VResourceInfoBaseImpl.cpp(1103):
580392e6-ba49-4280-ac67-fcd6f2180121: Неправильное имя пользователя или пароль
Ошибка при выполнении запроса POST к ресурсу /e1cib/login:'
14:22.316001-0,EXCP,2,process=rphost,p:processName=test_base,OSThread=20164,t:clientID=1083557,t:applicationName=WebServerExtension,t:computerName=doc-tst01.vtkbank.priv,t:connectID=1287038,Exception=a01f465c-ed70-442e-ada5-847668d7a41c,Descr='./src/VResourceInfoBaseServerImpl.cpp(1461):
a01f465c-ed70-442e-ada5-847668d7a41c: Идентификация пользователя не выполнена
Неправильное имя или пароль пользователя'
14:22.316002-0,EXCP,2,process=rphost,p:processName=test_base,OSThread=20164,t:clientID=1083557,t:applicationName=WebServerExtension,t:computerName=doc-tst01.vtkbank.priv,t:connectID=1287038,Exception=580392e6-ba49-4280-ac67-fcd6f2180121,Descr='./src/VResourceInfoBaseImpl.cpp(1103):
580392e6-ba49-4280-ac67-fcd6f2180121: Неправильное имя пользователя или пароль
Ошибка при выполнении запроса POST к ресурсу /e1cib/login:'
(10) Оказывается проблема в том, что апач не передает данные о пользователе в приложение, если сам его не авторизовал.
Скорее всего ты не добавил в директорию 1с в апаче настройки NTLM авторизации или не закоментировал строку "# Require all granted." которую 1С добавляет по дефолту.
Вообщем если все сделано верно, то в логе будут появляться события с логином. Например:
так же, если в апаче указать уровень логирования "debug", в логах /var/log/apache2/error.log
можно будет посмотреть есть ли ошибки, при открытии веб клиента 1С и там тоже должны быть события авторизации пользователя с указанием конкретных логинов.
Вообщем для всех потомков, кто будет гуглить - примерный конфиг апача должен выглядеть как-то так:
...
# 1c publication
Alias "/1c_base" "/var/www/1c_base/"
<Directory "/var/www/1c_base/">
AllowOverride All
Options None
# Require all granted
SetHandler 1c-application
ManagedApplicationDescriptor "/var/www/1c_base/default.vrd"
AuthType Kerberos
AuthName "Kerberos Login"
KrbAuthRealms EXAMPLE.COM
KrbSaveCredentials On
KrbMethodNegotiate On
KrbMethodK5Passwd on
Krb5Keytab /opt/1cv8/x86_64/usr1cv8.keytab
KrbServiceName usr1cv8/1C_SERVERNAME.EXAMPLE.COM@EXAMPLE.COM
Require valid-user
KrbVerifyKDC Off
</Directory>
...