Настройка Windows-аутентификации при работе с веб-публикацией 1С — задача, требующая комплексного подхода к безопасности Windows Server и IIS. Часто возникают ситуации, когда через браузер авторизация проходит успешно, а тонкий клиент не может корректно передать учетные данные или постоянно запрашивает пароль. Рассмотрим по шагам, как решить эту проблему.
Одной из частых причин сбоев является конфликт протоколов согласования (Negotiate) между клиентом и сервером. Если инфраструктура Kerberos не настроена идеально, тонкий клиент может терять токен авторизации.
Для исправления ситуации выполним следующие действия:
IIS.Проверка подлинности (Authentication).Проверка подлинности Windows включена.Проверка подлинности Windows и нажмите Дополнительные параметры.Расширенную защиту (если это допустимо политикой безопасности).NTLM. Если система использует Negotiate, попробуйте переместить NTLM в самый верх списка или оставить его единственным активным протоколом для проверки.Если веб-сервер и сервер 1С разнесены на разные физические машины (проблема «двойного прыжка»), стандартных прав NetworkService бывает недостаточно для проброса токена пользователя.
Рассмотрим рекомендации по настройке:
Пулы приложений (Application Pools).Дополнительных параметрах проверьте поле Удостоверение (Identity). Вместо системных учетных записей рекомендуется использовать специально созданную сервисную учетную запись домена.Делегирование Kerberos в Active Directory (настройка SPN).Interactive для типа входа с использованием учетных данных, что позволяет IIS корректнее обрабатывать сессии пользователей.Когда IIS получает запрос, он должен передать его дальше на сервер 1С. Если это происходит в доменной среде, без корректного делегирования сервер 1С видит не пользователя, а анонимного гостя (NT AUTHORITY\ANONYMOUS LOGON).
Для решения проблемы:
SPN (Service Principal Names) для службы HTTP.Доверить этому пользователю делегирование любых служб (только Kerberos).default.vrd параметр enable="true" для раздела аутентификации windows.Тонкий клиент 1С работает иначе, чем веб-браузер. Чтобы он корректно подхватывал текущую сессию пользователя Windows, необходимо:
Местная интрасеть (Local Intranet) в настройках безопасности Windows на всех клиентских машинах. Это позволит браузерам и тонкому клиенту доверять серверу и автоматически передавать учетные данные без лишних запросов.FQDN), например server.domain.local, вместо короткого имени или IP-адреса. Это критически важно для работы протокола Kerberos.Если после всех манипуляций проблема сохраняется, проанализируйте системный журнал Event Viewer на стороне сервера 1С и IIS. Ошибки 401.1 или 401.2 в логах IIS помогут точно определить, на каком этапе происходит отказ в авторизации.