Почему 1С через веб-клиент постоянно требует доменный пароль и как это исправить?

Системный администратор 1С v8.3 (Управляемые формы) 1С:Зарплата и Управление Персоналом IT и автоматизация бизнеса
← На главную

Проанализируем частую ситуацию, с которой сталкиваются системные администраторы при публикации баз 1С на веб-сервере IIS. База (например, 1С:Зарплата и Управление Персоналом) успешно опубликована, в профилях пользователей настроена аутентификация операционной системы (доменная), и через тонкий клиент вход происходит абсолютно прозрачно (хотя может понадобиться лаунчер для 1C с доменной авторизацией). Однако при попытке входа через веб-интерфейс браузер внезапно выдает системное окно с запросом логина и пароля от домена. После ручного ввода этих данных 1С успешно запускается, не запрашивая пароль от самой информационной базы. Выясним причину такого поведения и рассмотрим подробнее, как заставить браузеры передавать учетные данные автоматически.

Эта проблема чаще всего носит плавающий характер: у одних пользователей работает без запроса пароля, у других системное окно появляется во всех браузерах (аналогичные проблемы решает скрипт установки Apache). Получается, что проблема кроется не столько в 1С, сколько в цепочке доверия между клиентским ПК, браузером, веб-сервером IIS и контроллером домена. Разберем по шагам все возможные причины и пути решения.

1. Настройка зон безопасности браузеров и URL-адреса

Частая причина появления системного окна кроется в том, как браузеры определяют безопасность узла. Если вы обращаетесь к серверу 1С по короткому имени (например, http://server1c/), большинство браузеров автоматически относят его к зоне «Местная интрасеть» и прозрачно передают текущие учетные данные ОС. Если же вы используете полное доменное имя (FQDN, например, http://server1c.domain.local/), браузер может отнести адрес к зоне «Интернет», для которой автоматическая передача токенов безопасности запрещена политиками.

Рассмотрим, как правильно настроить свойства браузера (на примере Internet Explorer / свойств обозревателя Windows, которые влияют и на другие браузеры):

  1. Откройте панель управления и перейдите в «Свойства браузера» (Internet Options).
  2. Перейдите на вкладку Дополнительно (Advanced) и убедитесь, что установлен флажок Разрешить встроенную проверку подлинности Windows (Enable Integrated Windows Authentication).
  3. Перейдите на вкладку Безопасность (Security).
  4. Выберите зону Местная интрасеть (Local intranet) и нажмите кнопку Сайты.
  5. Добавьте URL-адрес вашего веб-сервера 1С в список доверенных сайтов.

2. Специфичные политики и настройки сторонних браузеров

Если в Internet Explorer авторизация работает, а в Google Chrome, Microsoft Edge или Mozilla Firefox всё равно выскакивает окно, посмотрим на специфические настройки этих браузеров.

Для Google Chrome и Microsoft Edge:

Браузеры на движке Chromium могут блокировать сквозную передачу доменного имени. В корпоративной среде это решается через централизованные групповые политики (GPO). Вам необходимо добавить адрес сервера 1С в белые списки для политик:


AuthServerWhitelist = *domain.local
AuthNegotiateDelegateWhitelist = *domain.local

После применения этих политик браузер поймет, что серверу с данным адресом можно доверять и безопасно передавать ему NTLM/Kerberos тикеты.

Для Mozilla Firefox:

В этом обозревателе прозрачная доменная авторизация отключена по умолчанию. Разберем по шагам, как её включить:

  1. В адресной строке введите about:config и примите риск изменения скрытых настроек.
  2. Найдите параметр network.automatic-ntlm-auth.trusted-uris и добавьте в его значение адрес вашего сервера (например, server1c.domain.local).
  3. Аналогично найдите параметр network.negotiate-auth.trusted-uris и также впишите туда адрес сервера IIS.

3. Настройка провайдеров проверки подлинности веб-сервера IIS

Проанализируем ситуацию на стороне сервера. IIS должен быть настроен так, чтобы он запрашивал у клиента Windows-аутентификацию и не пытался пустить его анонимно.

  1. Запустите диспетчер IIS (оснастка iis.msc).
  2. Выберите сайт или приложение с вашей опубликованной базой 1С.
  3. В центральной панели откройте раздел Проверка подлинности (Authentication), где также можно настроить аутентификацию по JWT-токену.
  4. Обязательно выключите пункт Анонимная проверка подлинности (Anonymous Authentication). Если он включен, IIS сначала попробует пустить пользователя без логина, 1С это отклонит, и цепочка может сбиться.
  5. Включите Проверка подлинности Windows (Windows Authentication).

Теперь обратим внимание на важный скрытый нюанс. Выделите строку «Проверка подлинности Windows» и справа в панели действий нажмите Поставщики... (Providers). По умолчанию там стоят провайдеры Negotiate (он же Kerberos) и NTLM. Если в домене есть проблемы с SPN-записями или рассинхронизация времени на клиентах, Kerberos сломается. В этом случае смена приоритета — перемещение NTLM на первое место — может моментально решить проблему с внезапными окнами паролей. Также рекомендуется зайти в Дополнительные параметры проверки подлинности Windows и отключить функцию Расширенная защита (Extended Protection), которая часто конфликтует со старыми клиентами.

4. Проблема "Двойного прыжка" (NTLM Double Hop) и настройка Kerberos

Усложним задачу и посмотрим на пример, когда веб-сервер IIS и сервер 1С:Предприятия установлены на РАЗНЫХ физических или виртуальных машинах. Это классическая проблема "Двойного прыжка". Протокол NTLM по соображениям безопасности не позволяет передавать учетные данные пользователя от одного сервера к другому (от браузера к IIS, а затем от IIS к Серверу 1С). В такой архитектуре NTLM работать не будет в принципе, и браузер всегда будет просить пароль, что мешает использовать WEB приложение для управления сеансами.

Решение — строгая настройка делегирования полномочий Kerberos в Active Directory. Разберем по шагам:

  1. На контроллере домена откройте оснастку Active Directory Users and Computers.
  2. Найдите компьютер, на котором развернут веб-сервер IIS, откройте его свойства.
  3. Перейдите на вкладку Делегирование (Delegation).
  4. Установите флажок Доверять этому компьютеру делегирование любых служб (только Kerberos) (Trust this computer for delegation to any services (Kerberos only)).
  5. Если пул приложений IIS запущен из-под доменной учетной записи пользователя, откройте свойства этого пользователя. На вкладке "Делегирование" включите доверие для делегирования и убедитесь, что на вкладке "Учетная запись" снят флажок "Учетная запись важна и не может быть делегирована".

Для корректной работы Kerberos системному администратору также потребуется зарегистрировать SPN-записи (Service Principal Name) для учетной записи, под которой работает служба веб-сервера, используя утилиту setspn.

5. Формат передачи имени пользователя в конфигурации 1С

Напоследок выясним причину, связанную с самой базой 1С. Пользователи могут успешно проходить аутентификацию IIS, но 1С их "не узнает". Посмотрим на логи технологического журнала (события CONN) или логи IIS. Проблема в том, что разные рабочие станции могут отправлять доменное имя в разных форматах: DOMAIN\Ivanov или Ivanov@domain.local.

Если в Конфигураторе 1С в карточке пользователя на вкладке аутентификации ОС прописан формат пользователя через слэш (DOMAIN\Ivanov), а браузер передает UPN-суффикс (через @), сопоставление не сработает. Обязательно проверяйте формат, который приходит от проблемных клиентов, и при необходимости корректируйте привязки пользователей в 1С:Предприятии.

Используя данный алгоритм, вы сможете локализовать сбой на уровне браузера, веб-сервера или домена и добиться того, чтобы 1С через веб-интерфейс открывалась без лишних вопросов, как и при использовании тонкого клиента.

← На главную