При работе с веб-клиентом 1С часто возникает задача автоматического входа пользователя из сторонних систем (например, с корпоративного портала). Самый простой путь — передача параметров N (логин) и P (пароль) прямо в URL-строке. Однако этот метод имеет критическую уязвимость: учетные данные сохраняются в истории браузера, кэше и логах веб-сервера. В условиях общего доступа к компьютеру (например, в цехах или на терминалах самообслуживания) это создает риск несанкционированного доступа.
В данной статье мы подробно разберем, как реализовать безопасную авторизацию, рассмотрим использование POST-запросов, обсудим настройку сквозной аутентификации (NTLM) и проанализируем гибридные схемы с использованием идентификационных карт.
Это штатный механизм платформы «1С:Предприятие», предназначенный как раз для сценариев интеграции с внешними сайтами. Суть метода заключается в том, что данные пользователя передаются не в заголовке GET-запроса (адресная строка), а в теле запроса, которое браузер не сохраняет в истории.
Рассмотрим по шагам, как это реализовать:
v8_user для имени пользователя и v8_password для пароля.POST, а действие (action) должно указывать на адрес вашей информационной базы с окончанием /e1cib/start.Проанализируем пример HTML-кода, который можно разместить на стороннем ресурсе для бесшовного перехода:
<form id="loginForm1C" method="POST" action="https://server.com/base_name/e1cib/start">
<input type="hidden" name="v8_user" value="ИмяПользователя">
<input type="hidden" name="v8_password" value="Пароль123">
<input type="submit" value="Войти в 1С">
</form>
Выясним, что происходит при нажатии кнопки. Браузер отправляет POST-пакет на веб-сервер 1С. Платформа распознает параметры авторизации, проверяет их и открывает сеанс веб-клиента. В строке адреса при этом остается чистый URL без паролей.
Важное замечание по безопасности: Как было отмечено в обсуждении, использование этого метода без протокола SSL (HTTPS) крайне опасно. В открытых сетях POST-запрос легко перехватывается снифферами. Поэтому обязательным условием является настройка сертификата на веб-сервере.
Если ваше предприятие использует доменную структуру (Active Directory), наиболее правильным решением будет использование операционной аутентификации. В этом случае пользователю вообще не нужно вводить пароль 1С — система «узнает» его по факту входа в Windows.
Разберем процесс настройки этого механизма:
Аутентификация операционной системы и указать его доменное имя в формате DOMAIN\UserName.mod_auth_sspi.Этот метод полностью исключает передачу паролей через URL и является наиболее защищенным для внутренней корпоративной сети.
В ситуациях, когда за одним компьютером работает множество сотрудников (например, рабочие в цеху), удобно использовать схему с авторизацией по картам доступа. Проанализируем, как это реализовать, если доменная авторизация по каким-то причинам недоступна.
Рассмотрим алгоритм работы:
Для реализации программного открытия нужной обработки при старте, используем модуль управляемого приложения. Разберем пример кода:
Процедура ПриНачалеРаботыСистемы()
// Получаем параметры запуска, переданные через ключ /C
ПараметрыЗапускаСтрока = ПараметрыЗапуска;
Если ЗначениеЗаполнено(ПараметрыЗапускаСтрока) Тогда
// Например, в параметре C передается ID обработки
КодОбработки = ИзвлечьКодИзПараметров(ПараметрыЗапускаСтрока);
// Открываем форму нужной обработки
Если КодОбработки = "DailyReport" Тогда
ОткрытьФорму("Обработка.ЕжедневныйОтчет.Форма");
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Если вы хотите избежать передачи пароля даже в POST-запросе со стороны клиента, можно реализовать систему одноразовых токенов. Посмотрим, как это работает на практике:
https://server.com/base/ru_RU/?C=Token:GUID.ПриНачалеРаботыСистемы считывается GUID, проверяется его наличие в регистре, и если он валиден — сеанс продолжается.Этот метод хорош тем, что даже если ссылка попадет в историю браузера, она станет бесполезной через минуту после использования.
Помимо выбора метода авторизации, важно правильно настроить само рабочее место (компьютер в цеху). Рассмотрим дополнительные меры:
--kiosk. Это уберет адресную строку, кнопки навигации и меню, не давая пользователю возможности заглянуть в историю.Подводя итог, наиболее современным и рекомендуемым способом является POST-запрос в сочетании с HTTPS или использование сквозной доменной авторизации. Это позволяет сохранить баланс между удобством пользователя (быстрый вход) и требованиями информационной безопасности предприятия.