Настройка сквозной аутентификации (Single Sign-On) в среде 1С:Предприятие — задача, с которой рано или поздно сталкивается любой системный администратор. Часто возникают ситуации, когда при попытке выбрать пользователя из домена Active Directory (AD) в конфигураторе, список оказывается пустым, либо выбранное имя в формате company.local\username отказывается работать, требуя изменения на короткое NetBIOS-имя. Рассмотрим подробно, почему так происходит и как привести систему к стабильной работе.
В современных сетях Windows сосуществуют два типа имен домена: короткое NetBIOS-имя (например, COMPANY) и полное DNS-имя (FQDN, например, company.local). Когда мы открываем настройки пользователя в 1С и пытаемся сопоставить его с пользователем ОС, платформа обращается к системным диалогам Windows для выбора объектов Active Directory.
Проанализируем ситуацию: если при выборе company.local пользователи отображаются, а при выборе COMPANY — нет, это первый признак того, что механизмы разрешения имен или права доступа к контроллеру домена работают некорректно. Основная проблема заключается в том, что 1С по умолчанию ожидает формат \\ИМЯ_ДОМЕНА\логин. Если система подставляет \\company.local\username, аутентификация может не проходить из-за того, что сервер 1С пытается использовать протокол Kerberos, который требует строго настроенных имен служб (SPN), в то время как короткое имя принудительно инициирует проверку через NTLM.
Выясним главную причину «пустых списков». По умолчанию агент сервера 1С (ragent) часто устанавливается под локальной системной учетной записью (LocalSystem) или специально созданной локальной учеткой (usr1cv8).
Важный момент: локальная учетная запись сервера не имеет прав на чтение данных из Active Directory. Когда вы запускаете конфигуратор со своего рабочего места под доменным логином, список пользователей подтягивается вашими правами. Однако сам процесс авторизации и финальная проверка прав при входе в базу выполняются на стороне сервера. Для корректной работы выполним следующие шаги:
domain\s-1c-service.services.msc).C:\Program Files\1cv8\srvinfo).Проанализируем ситуацию, когда запись вида \\company.local\username приводит к ошибке авторизации. Это происходит из-за особенностей работы протокола аутентификации. Платформа 1С в связке с Windows Server 2012/2016 и выше предпочитает стандарт Domain\User.
Если в окне выбора пользователя вы видите формат sAMAccountName (просто логин), а 1С дописывает суффикс .local, попробуйте следующее решение: при сопоставлении пользователя в поле «Пользователь Windows» вручную вводите путь, используя именно NetBIOS-имя (короткое). Это гарантирует, что система авторизации однозначно идентифицирует домен через контроллер домена без лишних DNS-запросов.
Разберем еще одну «фичу», которая часто пугает администраторов после миграции на Windows Server 2016 и выше. При открытии списка выбора пользователей AD справа отображаются только первые 100 записей.
Это не ошибка 1С, а поведение стандартного компонента Windows IDsObjectPicker. Чтобы найти нужного пользователя, если его нет в первой сотне:
Если проблема сохраняется, проанализируем взаимодействие серверов по сети. Для успешной работы доменной авторизации сервер 1С должен иметь беспрепятственный доступ к контроллеру домена по следующим портам:
Рассмотрим пример настройки через конфигурационный файл, если вы используете веб-сервер. При публикации базы на IIS важно убедиться, что в файле web.config включена Windows-аутентификация:
<system.webServer>
<security>
<authentication>
<windowsAuthentication enabled="true" />
<anonymousAuthentication enabled="false" />
</authentication>
</security>
</system.webServer>
Подводя итог, можно сказать, что «правильная» доменная авторизация в 1С строится на трех столпах:
\\COMPANY\username является максимально совместимой и надежной.LocalSystem, убедитесь, что в AD объект «Компьютер» (ваш сервер) имеет права на чтение учетных записей пользователей.Проанализировав эти аспекты, вы сможете настроить бесшовный вход для пользователей, избавив их от необходимости запоминать лишние пароли, а себя — от ручного ввода данных в конфигураторе.