Как настроить Windows-авторизацию для тонкого клиента 1С через веб-сервер IIS?

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

Настройка Windows-аутентификации при работе с веб-публикацией 1С — задача, требующая комплексного подхода к безопасности Windows Server и IIS. Часто возникают ситуации, когда через браузер авторизация проходит успешно, а тонкий клиент не может корректно передать учетные данные или постоянно запрашивает пароль. Рассмотрим по шагам, как решить эту проблему.

1. Настройка протоколов аутентификации в IIS

Одной из частых причин сбоев является конфликт протоколов согласования (Negotiate) между клиентом и сервером. Если инфраструктура Kerberos не настроена идеально, тонкий клиент может терять токен авторизации.

Для исправления ситуации выполним следующие действия:

  1. Откройте диспетчер служб IIS.
  2. Выберите ваш сайт или виртуальный каталог с публикацией 1С.
  3. Перейдите в раздел Проверка подлинности (Authentication).
  4. Убедитесь, что Проверка подлинности Windows включена.
  5. Выберите Проверка подлинности Windows и нажмите Дополнительные параметры.
  6. Отключите Расширенную защиту (если это допустимо политикой безопасности).
  7. В настройках поставщиков (Providers) оставьте только NTLM. Если система использует Negotiate, попробуйте переместить NTLM в самый верх списка или оставить его единственным активным протоколом для проверки.

2. Настройка пула приложений

Если веб-сервер и сервер 1С разнесены на разные физические машины (проблема «двойного прыжка»), стандартных прав NetworkService бывает недостаточно для проброса токена пользователя.

Рассмотрим рекомендации по настройке:

  1. Перейдите в Пулы приложений (Application Pools).
  2. Выберите пул, который использует ваше приложение 1С.
  3. В Дополнительных параметрах проверьте поле Удостоверение (Identity). Вместо системных учетных записей рекомендуется использовать специально созданную сервисную учетную запись домена.
  4. Убедитесь, что для этой учетной записи настроено Делегирование Kerberos в Active Directory (настройка SPN).
  5. В параметрах физического пути доступа к приложению проверьте тип входа. В некоторых случаях помогает установка значения Interactive для типа входа с использованием учетных данных, что позволяет IIS корректнее обрабатывать сессии пользователей.

3. Проблема «Двойного прыжка» (Double Hop)

Когда IIS получает запрос, он должен передать его дальше на сервер 1С. Если это происходит в доменной среде, без корректного делегирования сервер 1С видит не пользователя, а анонимного гостя (NT AUTHORITY\ANONYMOUS LOGON).

Для решения проблемы:

  1. Убедитесь, что для сервера IIS прописаны SPN (Service Principal Names) для службы HTTP.
  2. В свойствах учетной записи пула приложений в AD установите флаг Доверить этому пользователю делегирование любых служб (только Kerberos).
  3. Проверьте, что в настройках 1С в файле default.vrd параметр enable="true" для раздела аутентификации windows.

4. Дополнительные рекомендации для тонкого клиента

Тонкий клиент 1С работает иначе, чем веб-браузер. Чтобы он корректно подхватывал текущую сессию пользователя Windows, необходимо:

Если после всех манипуляций проблема сохраняется, проанализируйте системный журнал Event Viewer на стороне сервера 1С и IIS. Ошибки 401.1 или 401.2 в логах IIS помогут точно определить, на каком этапе происходит отказ в авторизации.

← На главную