Настройка аутентификации Windows при расположении веб-сервера IIS и рабочих серверов на разных машинах
Описание проблемы
Не работает аутентификация операционной системы (windows) через IIS при использовании тонкого клиента или веб-клиента.
С точки зрения пользователей, будет видно окно с запросом логина и пароля.
Проблема может заключаться в том, что методы операционной системы в силу различных причин возвращают описание текущего пользователя сеанса в таком представлении, которое не совпадает ни с одним пользователем в списке пользователей информационной базы 1С
Решение проблемы
На сервере 1С включить технологический журнал, используя следующую настройку:
Воспроизвести ситуацию с неудачной аутентификацией операционной системы. Авторизоваться под пользователем операционной системы, указанным в свойствах пользователя 1С.
Открыть технологический журнал рабочего процесса и найти событие EXCP со следующим описанием: «Идентификация пользователя не выполнена
Неправильное имя или пароль пользователя»
Обратите внимание на предшествующее ему событие CONN и значение свойства DstUserName2 — именно в таком виде пользователь должен быть указан в свойствах пользователя информационной базы.
04:45.940011-0,CONN,2,process=rphost,t:clientID=60,Txt=Srvr: SrcUserName1: svc-1c@DOMAIN701.COM
04:45.940012-0,CONN,2,process=rphost,t:clientID=60,Txt=Srvr: DstUserName1: testuser2@DOMAIN701.COM(DOMAIN701.COM\testuser2)
04:45.971001-0,CONN,2,process=rphost,t:clientID=60,Txt=Srvr: DstUserName2: DOMAIN701\testuser2(DOMAIN701\testuser2)
04:46.205021-0,EXCP,2,process=rphost,p:processName=trade,t:clientID=60,t:applicationName=WebServerExtension,t:computerName=webserver,t:connectID=19,Exception=a01f465c-ed70-442e-ada5-847668d7a41c,Descr=’src\VResourceInfoBaseServerImpl.cpp(991):
a01f465c-ed70-442e-ada5-847668d7a41c: Идентификация пользователя не выполнена
Неправильное имя или пароль пользователя’
Заменить значение свойства «Пользователь» пользователя информационной базы согласно следующему формату «\\» + [Имя пользователя из свойства DstUserName2 без скобок].
Проверить работоспособность аутентификации средствами операционной системы, войдя в информационную базу, используя веб-клиент.
Расположение веб-сервера IIS и рабочих серверов 1С на разных машинах
В некоторых случаях, несмотря на корректно указанного пользователя операционной системы в пользователе информационной базы, при попытке входа в опубликованную базу через браузер аутентификация операционной системы не проходит. Такая ситуация может возникать, если веб-сервер IIS и сервер 1с находятся на разных машинах. В таком случае в технологическом журнале рабочего процесса можно наблюдать следующую картину:
56:39.487001-0,CONN,2,process=rphost,p:processName=accounting,t:clientID=39,t:applicationName=WebServerExtension,t:computerName=webserver,t:connectID=16,Txt=Srvr: SrcUserName1: winserver1c$@DOMAIN701.COM
56:39.487002-0,CONN,2,process=rphost,p:processName=accounting,t:clientID=39,t:applicationName=WebServerExtension,t:computerName=webserver,t:connectID=16,Txt=Srvr: DstUserName1: testuser2@DOMAIN701.COM(DOMAIN701.COM\testuser2)
56:39.596004-0,CONN,2,process=rphost,p:processName=accounting,t:clientID=39,t:applicationName=WebServerExtension,t:computerName=webserver,t:connectID=16,Txt=Srvr: DstUserName2: NT AUTHORITY\ANONYMOUS LOGON(NT AUTHORITY\ANONYMOUS LOGON )
56:39.659003-0,EXCP,2,process=rphost,p:processName=accounting,t:clientID=39,t:applicationName=WebServerExtension,t:computerName=webserver,t:connectID=16,Exception=a01f465c-ed70-442e-ada5-847668d7a41c,Descr=’src\VResourceInfoBaseServerImpl.cpp(991):
a01f465c-ed70-442e-ada5-847668d7a41c: Идентификация пользователя не выполнена
Неправильное имя или пароль пользователя’
При возникновении такой ситуации необходимо проверить следующие настройки:
1) Убедиться, что процессы сервера 1С запущены от имени доменной учетной записи, входящей в группу Domain Users.
2) Убедиться, что веб-сервер IIS настроен корректно.
В публикации информационной базы найти настройки аутентификации
В настройках аутентификации отключить анонимную аутентификацию и включить Windows-аутентификацию. В Windows-аутентификации упорядочить доступных провайдеров так, чтобы на первом месте был Negotiate.
Пул приложений публикации не нуждается в настройках, в нем можно оставить все по умолчанию.
После изменения настроек перезапустить веб-сервер с помощью команды iisreset в командной строке.
3) Убедиться, что в контроллере домена в свойствах компьютера, на котором запущен веб-сервер, на вкладке делегирование установлено «Доверять компьютеру делегирование любых служб (только Kerberos)»
Для этого откройте оснастку Active Directory Users and Computers (dsa.msc), в компьютерах найдите веб-сервер, перейдите в его свойства и на вкладке Делегирование установить значение «Доверять компьютеру делегирование любых служб (только Kerberos)» и нажать применить.
4) Убедиться, что на клиенте в свойствах обозревателя разрешена встроенная проверка подлинности Windows.
После выполнения всех действий необходимо перезагрузить клиентский компьютер (рабочие серверы перезагрузки не требуют) и убедиться, что аутентификация операционной системы успешно выполняется.
Важно: аутентификации Windows при расположении веб-сервера IIS и рабочих серверов на разных машинах в тонком клиенте работает, начиная с версии 8.3.10.2620 (для тестирования).
Аутентификация операционной системы. Перестала работать.
Платформа 1С:Предприятие 8.2 (8.2.18.96). УПП (1.3.23.1). Windows Server 2008 R2.
До сегодняшнего дня отлично работала аутентификация операционной системы. Сегодня аутентификация работать перестала. При старте 1С выскакивает окно авторизации.
Из действий, которые могут быть связаны — в 1С в режиме предприятия были созданы 3 пользователя с указанием аутентификация операционной системы (указаны пользователи домена). Как потом выяснилось такие пользователи уже были созданы с галкой Недействительный. (не знаю может быть ли это связано или нет).
В какую сторону копать?
Настроил ТЖ с параметрами conn и excp,
запись логов пошла, но к сожалению пока не могу по ним определить ошибку.
в разделе EXCP нашел следующие записи:
InitializeSecurityContext: Error 80090324!
InitializeSecurityContext: Error 80090324!
‘server_addr=any:1560 descr=Ошибка сетевого доступ
‘server_addr=any:1561 descr=Ошибка сетевого доступ
‘server_addr=any:1562 descr=Ошибка сетевого доступ
‘server_addr=any:1563 descr=Ошибка сетевого доступ
‘addrBelongsToThisComputer2, address=localhost, result=true’
‘Connected, client=(23)[::1]:59291, server=(23)[::1]:1541’
Clnt: MyUserName1: МойЛогин@МойДомен
Clnt: DstUserName1: ЛогинСервера1С@МойДомен StartProtocol: 0 Success
‘addrBelongsToThisComputer2, address=ИмяСервера, result=true’
‘Connected, client=(23)[::1]:59300, server=(23)[::1]:1560’
Clnt: MyUserName1: МойЛогин@МойДомен
Clnt: DstUserName1: ЛогинСервера1С@МойДомен StartProtocol: 0 Success
кто знает, в какую сторону копать?
Добавление — пользователи работают через терминальный доступ непосредственно на сервер 1С.
(1) т.е. истек срок действия пароля? данная проблема у всех пользователей. и на сервер через РДП они попадают без проблем
(2) по словам админов — ничего не менялось.
Когда я открывают список пользователей и выбираю доменного юзера для конкретного пользователя — я вижу список доменов и список пользователей доменов.
т.е. получается с сервера 1С видно и домены и пользователи?
(4) судя по всему у Вас несколько доменов?
сервер 1с в том-же домене, что и пользователи.
(11) спасибо за такую развернутую инструкцию.
Для обоих имен домена выдал имя контроллера домена.
лукап по этому имени показал его ип-адрес.
и имя и ип-адрес соответствуют контроллеру домена.
по имени и по ип пингуются с сервера 1С..
Ну тогда мы имеем что-то мелкопакостное. Типа того:
— системные часы, надо проверить время на сервере и на контроллере домена;
— некорректная установка софта на сервак, возможно некорректные записи в реесте, возможно обновления надо поставить, возможно они криво встали и т.п.
А сервер перегрузить пробовали?
(13) сейчас сравнил время на контроллере и на сервере 1с через NET TIME. Время отличается. Это может быть причиной проблемы авторизации?
Аутентификация в 1С Предприятии через Active Directory
В одной из статей я уже писал о том, что пользователям, которые работают в 1С Предприятии можно немного упростить жизнь, сделав аутентификацию в 1С на пользователя операционной системы.
Конечно, данная тема также подымается и на курсе: Администратор 1С!
Тогда мы просто разобрали аутентификацию через операционную систему без Active Directory.
В качестве дополнения думаю будет не лишним расписать и аутентификацию через AD.
В двух словах, что дает нам такой скажем “вид входа в 1С”?
В первую очередь это позволит, пользователям не запоминать еще и пароли от 1С, будет достаточно знать учетку на вход в Windows, чтоб начать работу в 1С, выполнить вход.
Собственно плюсы здесь весьма очевидны, мы сокращаем время входа в 1С Предприятие, также администрирование пользователей становится проще.
Что ж приступим к работе!
Предполагается, что Active Directory у Вас уже «поднята» и можно приступать к переходу на аутентификацию в 1С через AD.
Сервер или ПК, (где Ваши пользователи работают в 1С Предприятии) должен быть присоединен к домену.
Итак, запускаем 1С Предприятие в режиме «Конфигуратор» под учетной записью администратора.
Идем на вкладку «Администрирование» – «Пользователи» выбираем пользователя и клик по кнопке “Изменить”.
Затем на вкладке «Основные» выполним такие манипуляции:
Сперва уберем птичку возле «Аутентификация 1С Предприятия».
Вместо этого ставим птичку возле «Аутентификация операционной системы».
Затем следует выбрать пользователя, которого мы собственно «свяжем» с учеткой пользователя в 1С. Именно этот пользователь, созданный предварительно в Active Directory будет запускать 1С Предприятие.
Здесь стоит отметить, что если мы запустим 1С от имени нашего пользователя в AD мы в справке “О программе” будем видеть не имя пользователя в AD, а имя, которое у нас заполнено в 1С на вкладке «Основные». Другими словами учетная запись созданная в 1С, будет сопоставлена с учетной записью в AD.
Поэтому имя пользователя в 1С стоит создавать такое, как и в AD, чтоб избежать путаницы.
Когда мы кликаем по кнопке выбора пользователя, нам открывается окно, где слева в списке мы видим домены нашей локальной сети, а справа пользователей доменов.
Обычно три домена Вы будете видеть в этом списке (если конечно домен у Вас один).
Также в списке будет и домен сервера, локальный (текущее хост имя сервера или ПК).
Выбрать нужно лишь один, и в нашем случаи это будет LOCAL.
Адрес всегда должен быть в виде \\ВАШ_ДОМЕН\Пользователь
Иногда требуется вручную указать этот путь, без приставок .com и т.д.
Бывает, что после всего, что мы сделали, 1С продолжает требовать аутентификацию, тогда нужно проверить настройки режима аутентификации в редакторе информационных баз, выбрав информационную базу, клик по кнопке «изменить» затем клик по кнопке «Далее».
Обязательно ставим птичку возле «Выбирать автоматически».
В результате проделанной работы, пользователю чтоб начать работать в 1С, будет достаточно выбрать лишь информационную базу и запустить 1С Предприятие, больше нет нужды искать в списке выбора свое имя – фамилию, запоминать пароли и т.д.
Если Вы хотите больше узнать о технической стороне 1С, тогда регистрируйтесь на первый бесплатный модуль курса: Администратор 1С >>>