Как настроить автоматический вход без ввода логина и пароля при веб-подключении к 1С

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

При публикации информационной базы 1С на веб-сервере (под управлением IIS или Apache) часто возникает задача упростить процесс авторизации для конечных пользователей. Например, если необходимо организовать «гостевой» доступ к базе для просмотра отчетов, прайс-листов или интеграции с внешними сервисами, ручной ввод логина и пароля становится лишним препятствием. В рамках этой статьи мы подробно разберем, как настроить автоматический вход в веб-клиент 1С, проанализируем частые ошибки при редактировании файлов конфигурации и рассмотрим альтернативные безопасные способы аутентификации. Для быстрого развертывания веб-сервера на Windows можно воспользоваться скриптом для автоматической установки Apache HTTP Server.

Способ 1. Передача логина и пароля через параметры URL-адреса

Самый простой и быстрый способ обойти стандартное диалоговое окно авторизации — передать имя пользователя и пароль непосредственно в строке запроса браузера. Платформа 1С поддерживает специальные URL-параметры для инициализации сеанса.

Рассмотрим синтаксис строки подключения. Для автоматического входа используются параметры N (имя пользователя) и P (пароль). Ссылка для подключения в этом случае будет выглядеть следующим образом:

http://<АдресСервера>/<ИмяПубликации>/?N=<ИмяПользователя>&P=<Пароль>

Посмотрим на конкретный пример из практики. Если ваша база опубликована на локальном веб-сервере под именем UTP, а пользователя зовут «Админенко (администратор)» с паролем «1», ссылка для мгновенного входа примет следующий вид:

http://localhost/UTP/?N=Админенко (администратор)&P=1

При переходе по такой ссылке веб-клиент 1С мгновенно инициализирует сессию под указанной учетной записью, минуя окно выбора пользователей. Однако, несмотря на простоту реализации, этот метод имеет критические недостатки в области безопасности, которые мы обязаны проанализировать:

  1. Компрометация данных через логи веб-сервера. Как видно из реальных логов IIS, при обработке GET-запроса вся строка запроса (Query String) записывается в текстовые логи сервера в открытом виде. Любой системный администратор или злоумышленник, получивший доступ к файлам логов, сможет легко прочитать пароли пользователей.
  2. История браузера. Ссылка, содержащая пароль в открытом виде, сохраняется в истории посещений веб-обозревателя на локальном компьютере пользователя. Если за одним рабочим местом работают несколько сотрудников, они смогут получить доступ к чужим учетным записям.
  3. Плечевой веб-серфинг. Учетные данные пользователя отображаются прямо в адресной строке браузера во время работы в системе, что облегчает их компрометацию визуальным путем.

Способ 2. Жесткое прописывание пользователя в файле публикации default.vrd

Более надежным и незаметным для пользователя способом является указание параметров авторизации непосредственно внутри конфигурационного файла публикации веб-сервера. Этот файл называется default.vrd и находится в каталоге публикации (например, C:\inetpub\wwwroot\UTP\ для IIS).

Выясним причину, почему у многих администраторов не получается настроить этот способ с первого раза, и разберем по шагам правильную структуру файла.

Типичная ошибка при редактировании default.vrd заключается в нарушении синтаксиса XML-разметки и неправильном написании параметров подключения. Рассмотрим некорректный пример из обсуждения:

ib="File="D:\temp\UTP\"usr="Админенко";pwd="1""

В этом примере парсер веб-сервера выдаст ошибку разбора дескриптора или проигнорирует параметры, так как двойные кавычки внутри значения XML-атрибута ломают разметку документа. Кроме того, параметры строки подключения к базе данных чувствительны к регистру символов.

Важные правила форматирования файла default.vrd:

  1. Все внутренние кавычки в строке подключения должны быть экранированы с помощью стандартной XML-сущности &quot;.
  2. Параметры имени пользователя и пароля должны писаться с заглавной буквы: Usr и Pwd (а не usr и pwd).
  3. Параметры в строке соединения разделяются точкой с запятой ;.

Проанализируем правильный шаблон файла default.vrd для файлового варианта информационной базы:


<?xml version="1.0" encoding="UTF-8"?>
<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"
       xmlns:xs="http://www.w3.org/2001/XMLSchema"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       base="/UTP"
       ib="File=&quot;D:\temp\UTP&quot;;Usr=&quot;Админенко (администратор)&quot;;Pwd=&quot;1&quot;;">
    <ws enable="false"/>
    <httpServices publishByDefault="false"/>
    <standardOdata enable="true"
                   reuseSessions="autouse"
                   sessionMaxAge="20"
                   poolSize="10"
                   poolTimeout="5"/>
</point>

Если ваша база работает в клиент-серверном варианте, строка подключения ib в файле публикации будет выглядеть следующим образом:


ib="Srvr=&quot;ИмяСервера1С&quot;;Ref=&quot;ИмяБазыДанных&quot;;Usr=&quot;ИмяПользователя&quot;;Pwd=&quot;Пароль&quot;;"

Разбор частых технических ошибок при настройке default.vrd

Рассмотрим подробнее ошибки, которые часто возникают при сохранении и проверке файла публикации.

Ошибка: «Input is not proper UTF-8, indicate encoding!»
Эта ошибка возникает, когда в файле публикации используются русские символы (например, в имени пользователя «Админенко»), но сам файл сохранен в кодировке Windows-1251 или ANSI. Веб-сервер не может корректно прочитать такой файл и возвращает фатальный сбой XML-парсера. Чтобы решить эту проблему, обязательно открывайте и сохраняйте файл default.vrd через специализированные текстовые редакторы (например, Notepad++), принудительно выбрав кодировку UTF-8 (без BOM).

Ошибка: Появляется окно входа, логин заполнен, но система просит нажать кнопку «ОК» или ввести пароль.
Если при переходе на сайт перед вами все равно открывается стандартная форма авторизации платформы, это свидетельствует о синтаксической ошибке в строке ib. Платформа не смогла распознать параметры Usr или Pwd из-за неверного регистра букв, отсутствия экранирования кавычек или пропущенных точек с запятой. Перепроверьте строку подключения по символам. Убедитесь, что параметры написаны как Usr и Pwd.

Способ 3. Безопасная альтернатива — сквозная Windows-аутентификация (SSO)

Если ваша задача — избавить пользователей корпоративной сети от постоянного ввода паролей, но при этом сохранить высокий уровень безопасности, то прописывать единый пароль в файле публикации крайне не рекомендуется. В такой ситуации идеальным решением станет использование сквозной аутентификации средствами операционной системы. Для упрощения запуска опубликованных баз на устройствах вне домена с сохранением SSO можно использовать лаунчер для 1С с проверкой доменной авторизации.

Рассмотрим по шагам схему настройки сквозной авторизации:

  1. Настройка веб-сервера. В настройках IIS для вашего виртуального приложения необходимо включить компонент «Windows-аутентификация» (Windows Authentication) и полностью отключить «Анонимный доступ». Если используется веб-сервер Apache, потребуется настроить модуль Kerberos или SSPI.
  2. Настройка пользователя в 1С. Откройте базу в режиме «Конфигуратор», перейдите в список пользователей ИБ. У нужного сотрудника установите флаг «Аутентификация операционной системы» и выберите его доменную учетную запись (например, DOMAIN\ivanov).
  3. Результат работы. При обращении к веб-клиенту веб-сервер автоматически определит, под какой учетной записью Windows авторизован пользователь на компьютере, передаст этот токен платформе 1С, и вход в базу произойдет мгновенно и абсолютно безопасно без каких-либо всплывающих окон.

Рекомендации по безопасности при организации гостевого доступа

Если автоматический бесшовный вход организуется для публичного использования (например, под учетной записью «Гость»), обязательно соблюдайте следующие правила информационной безопасности:

← На главную