Раздельная аутентификация веб-сервиса в 1С 8.2

После публикации конфигурации на платформе «1С:Предприятие 8.2» в подкаталоге веб-сервера создается файл default.vrd в атрибуте «ib» которого содержится информация о параметрах подключения к информационной базе. Эти параметры действуют и для дочерних элементов узла «ws» т.е ваших веб-сервисов, например:

1
2
3
4
5
6
7
8
9
10
<?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="/demoFba"
    ib="Srvr=&quot;Server01&quot;;Ref=&quot;demoFba&quot;; ">
    <ws>
        <point name="fbaService" alias="fbaService.1cws"/>
    </ws>
</point>
<?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="/demoFba"
    ib="Srvr=&quot;Server01&quot;;Ref=&quot;demoFba&quot;; ">
    <ws>
        <point name="fbaService" alias="fbaService.1cws"/>
    </ws>
</point>

Параметры «Usr» и «pwd» не указаны в строке подключения и 1С, при доступе к информационной базе и через веб-сервис и через «веб-клиент», будет запрашивать их от пользователя (windows-авторизацию здесь не рассматриваем).

Если их добавить в строку подключения, то и веб-сервис и работа пользователей через «веб-клиент» будет идти через этого пользователя. А что делать если аутентификация пользователей должна производится средствами системы «1С:Предприятие» т.е. с запросом имени пользователя и пароля? Выход – настройки для web-сервиса указать в отдельном файле как раньше в 8.1.

Выполните следующее:

  • удалите из файла default.vrd всю секцию «ws»
  • рядом с default.vrd создайте файл <имя сервиса>.1cws и укажите в нем параметры подключения к информационной базе включая данные авторизации, например:
1
2
<?xml version="1.0" encoding="UTF-8"?>
<service namespace="http://www.profi1c.ru/fbaEngine" name="fbaService" connectString="Srvr=&quot;Server01&quot;;Ref=&quot;demoFba&quot;;usr=web-service;pwd=123456;"/>
<?xml version="1.0" encoding="UTF-8"?>
<service namespace="http://www.profi1c.ru/fbaEngine" name="fbaService" connectString="Srvr=&quot;Server01&quot;;Ref=&quot;demoFba&quot;;usr=web-service;pwd=123456;"/>

В версии 8.2 утилита публикации “wsinst” была удалена из комплекта поставки, но сами сервисы понимают этот формат.

Обращение к сервису производится без указания подкаталога /ws, например http://127.0.0.1/demoFba/fbaService.1cws.

Доступ пользователей через веб-клиент не изменился и будет использоваться аутентификация средствами системы «1С:Предприятие».

Попытка указать отдельные параметры подключения для элемента  «point» для группы «ws» в файле default.vrd не увенчалась успехом. Полное описание формата найти также не удалось.

Похожие записи: