Аутентификация ActiveDirectory в браузере.

1. TVA_11 24.06.21 12:33 Сейчас в теме
1С:Предприятие 8.3 (8.3.18.1334)
Документооборот 8 КОРП, редакция 2.1 (2.1.27.1)
Kerberos, CentOS Linux release 7.8.2003 (Core) x86_64.

Аутентификация всякого вида работает успешно, за исключением через АD на Web.


С такой ошибкой в логе.

Скрытый текст

Ошибка при выполнении запроса POST к ресурсу /e1cib/login:'
Вознаграждение за ответ
Показать полностью
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. TVA_11 24.06.21 13:38 Сейчас в теме
Уже полученные рекомендации:

Предположительно, не сделали необходимых настроек для Windows аутентификации (см. документацию).
Сетевой фильтр на микротик сбоит.


Нужен мозговой штурм.
3. TVA_11 24.06.21 14:54 Сейчас в теме
Возможно, у кого-то есть доступ к кодам *.cpp ?

Descr='./src/VResourceInfoBaseServerImpl.cpp(1461):
Descr='./src/VResourceInfoBaseImpl.cpp(1103):

Тогда проще понять причину.
4. comptr 31 24.06.21 15:02 Сейчас в теме
Встречал где-то замечание, что такая проблема может быть из-за различия в регистре между тем, что ожидает получить система и тем, что отдаёт 1С. Отлавливается через тех. журнал, лечится приведением записей о доменных учетках в 1С к тому регистру, которая ожидает система.
Из схожих проблем - публикация на веб-сервере Apache, когда имя публикации становится чувствительным к регистру, чем не страдает IIS.
5. TVA_11 25.06.21 11:56 Сейчас в теме
(4)
Если вы имеете ввиду правильность заполнения в Конфигураторе - Публикация на web-сервере, то у нас там ничего нет.
На linux делаются основные настройки.
6. TVA_11 28.06.21 11:22 Сейчас в теме
Получил неофициальный ответ от 1С, что на apache вообще нет гарантии, что заработает.

Рекомендуют Nginx - изучаем.
7. acces969 344 29.06.21 14:07 Сейчас в теме
(6) На днях смотрел оффициальную презентацию новых функций 19 платформы. Советую найти и посмотреть - они как раз эту часть поменяли и значительно расширили. Как раз то, что нужно вам.
8. TVA_11 02.07.21 11:05 Сейчас в теме
(7)
оффициальную презентацию новых функций 19 платформы


А как понять, что проблема на уровне платформы?
В Журнале регистрации - в случае АD через браузер, действий вообще не отображается.


Пока текущий прогноз, что и Nginx не поможет.
9. acces969 344 02.07.21 12:03 Сейчас в теме
(8) я о том, что в новой платформе этим занялись и написали новый функционал, т.к. старый костлявый
10. TVA_11 19.07.21 11:55 Сейчас в теме
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:'
11. user790004 16.12.21 11:03 Сейчас в теме
Можно попробовать в авторизации пользователей указать домен - user.local или user@local
12. user790004 16.12.21 11:51 Сейчас в теме
Ошибся немного)) домен\пользователь или пользователь@домен.
13. generick 2 03.06.22 12:13 Сейчас в теме
(10) Оказывается проблема в том, что апач не передает данные о пользователе в приложение, если сам его не авторизовал.
Скорее всего ты не добавил в директорию 1с в апаче настройки NTLM авторизации или не закоментировал строку "# Require all granted." которую 1С добавляет по дефолту.
Вообщем если все сделано верно, то в логе будут появляться события с логином. Например:
03:36.207008-0,CONN,2,process=rmngr,OSThread=986,t:clientID=35614,Txt=eAPSENo
03:36.208001-0,CONN,2,process=rmngr,OSThread=986,t:clientID=35614,Txt=Srvr: DstUserName1: USER@EXAMPLE.COM(EXAMPLE.COM\USER) (linux client)

так же, если в апаче указать уровень логирования "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>
...
Показать


настройки кербероса - тут https://its.1c.ru/db/metod8dev/content/2799/hdoc
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот