При публикации информационной базы 1С на веб-сервере (под управлением IIS или Apache) часто возникает задача упростить процесс авторизации для конечных пользователей. Например, если необходимо организовать «гостевой» доступ к базе для просмотра отчетов, прайс-листов или интеграции с внешними сервисами, ручной ввод логина и пароля становится лишним препятствием. В рамках этой статьи мы подробно разберем, как настроить автоматический вход в веб-клиент 1С, проанализируем частые ошибки при редактировании файлов конфигурации и рассмотрим альтернативные безопасные способы аутентификации. Для быстрого развертывания веб-сервера на Windows можно воспользоваться скриптом для автоматической установки Apache HTTP Server.
Самый простой и быстрый способ обойти стандартное диалоговое окно авторизации — передать имя пользователя и пароль непосредственно в строке запроса браузера. Платформа 1С поддерживает специальные URL-параметры для инициализации сеанса.
Рассмотрим синтаксис строки подключения. Для автоматического входа используются параметры N (имя пользователя) и P (пароль). Ссылка для подключения в этом случае будет выглядеть следующим образом:
http://<АдресСервера>/<ИмяПубликации>/?N=<ИмяПользователя>&P=<Пароль>
Посмотрим на конкретный пример из практики. Если ваша база опубликована на локальном веб-сервере под именем UTP, а пользователя зовут «Админенко (администратор)» с паролем «1», ссылка для мгновенного входа примет следующий вид:
http://localhost/UTP/?N=Админенко (администратор)&P=1
При переходе по такой ссылке веб-клиент 1С мгновенно инициализирует сессию под указанной учетной записью, минуя окно выбора пользователей. Однако, несмотря на простоту реализации, этот метод имеет критические недостатки в области безопасности, которые мы обязаны проанализировать:
Более надежным и незаметным для пользователя способом является указание параметров авторизации непосредственно внутри конфигурационного файла публикации веб-сервера. Этот файл называется default.vrd и находится в каталоге публикации (например, C:\inetpub\wwwroot\UTP\ для IIS).
Выясним причину, почему у многих администраторов не получается настроить этот способ с первого раза, и разберем по шагам правильную структуру файла.
Типичная ошибка при редактировании default.vrd заключается в нарушении синтаксиса XML-разметки и неправильном написании параметров подключения. Рассмотрим некорректный пример из обсуждения:
ib="File="D:\temp\UTP\"usr="Админенко";pwd="1""
В этом примере парсер веб-сервера выдаст ошибку разбора дескриптора или проигнорирует параметры, так как двойные кавычки внутри значения XML-атрибута ломают разметку документа. Кроме того, параметры строки подключения к базе данных чувствительны к регистру символов.
Важные правила форматирования файла default.vrd:
".Usr и Pwd (а не usr и pwd).;.Проанализируем правильный шаблон файла 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="D:\temp\UTP";Usr="Админенко (администратор)";Pwd="1";">
<ws enable="false"/>
<httpServices publishByDefault="false"/>
<standardOdata enable="true"
reuseSessions="autouse"
sessionMaxAge="20"
poolSize="10"
poolTimeout="5"/>
</point>
Если ваша база работает в клиент-серверном варианте, строка подключения ib в файле публикации будет выглядеть следующим образом:
ib="Srvr="ИмяСервера1С";Ref="ИмяБазыДанных";Usr="ИмяПользователя";Pwd="Пароль";"
Рассмотрим подробнее ошибки, которые часто возникают при сохранении и проверке файла публикации.
Ошибка: «Input is not proper UTF-8, indicate encoding!»
Эта ошибка возникает, когда в файле публикации используются русские символы (например, в имени пользователя «Админенко»), но сам файл сохранен в кодировке Windows-1251 или ANSI. Веб-сервер не может корректно прочитать такой файл и возвращает фатальный сбой XML-парсера. Чтобы решить эту проблему, обязательно открывайте и сохраняйте файл default.vrd через специализированные текстовые редакторы (например, Notepad++), принудительно выбрав кодировку UTF-8 (без BOM).
Ошибка: Появляется окно входа, логин заполнен, но система просит нажать кнопку «ОК» или ввести пароль.
Если при переходе на сайт перед вами все равно открывается стандартная форма авторизации платформы, это свидетельствует о синтаксической ошибке в строке ib. Платформа не смогла распознать параметры Usr или Pwd из-за неверного регистра букв, отсутствия экранирования кавычек или пропущенных точек с запятой. Перепроверьте строку подключения по символам. Убедитесь, что параметры написаны как Usr и Pwd.
Если ваша задача — избавить пользователей корпоративной сети от постоянного ввода паролей, но при этом сохранить высокий уровень безопасности, то прописывать единый пароль в файле публикации крайне не рекомендуется. В такой ситуации идеальным решением станет использование сквозной аутентификации средствами операционной системы. Для упрощения запуска опубликованных баз на устройствах вне домена с сохранением SSO можно использовать лаунчер для 1С с проверкой доменной авторизации.
Рассмотрим по шагам схему настройки сквозной авторизации:
DOMAIN\ivanov).Если автоматический бесшовный вход организуется для публичного использования (например, под учетной записью «Гость»), обязательно соблюдайте следующие правила информационной безопасности: