подскажите настроил сервис. выводит пользователям список документов. сделал без авторизации. вот пример файла 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="/srvimp"
ib="File="C:\1c\test";usr=site;pwd=12345"
enableStandardOData="true">
<ws>
<point name="WebService"
alias="ws1.1cws"
enable="true"/>
</ws>
</point>
но как при обращении к базе через веб интерфейс захожу под пользователем site а хотелось бы под своим. подскажите как настроить параметры для входа под своим логином?
(2) dj_serega, да будет обычный вход через веб клиент. вот и хочется одновременно чтобы пользователи обращаясь к http сервису получали бе авторизации документы а кто хочет чтобы заходил под своей учеткой
(4) ture, честно сказать не понял что да как надо сделать. если можете наведите на путь истинный. опубликовать в другой папке - т.е. как то разделить обращение к веб интерфейсу и http сервис?
(1) Что-то по данному вопросу решилось? Найдено ли решение? Та же проблема с разделением интерфейса и сервисов.
Я пока только сделал 2 базы через план обмена: одна база для интерфейса пользователя, другая для http-сервисов с полной синхронизацией между ними.
(7)Спасибо помогло!
Создал вторую публикацию
Скопировал туда ВРД из основной публикации, прописал в скопированном врд автологин, теперь на одном урле обычный веб клиент с запросом пароля на другом урле хттп сервис
(12) Но как создать вторую публикацию? Скопировать папку с новым именем, добавить автологон в строку подключения в vrd и создать на IIS новое приложение с указанием пути к этой папке? Я так пробовал, не работает. Просит авторизацию.
День добрый!
Тоже интересует данная тема.
Может есть возможность через строку запроса передать логин и пароль???
Типа дописать в конце http://localhost/str/hs/our-services/list...логин%пароль Может кто знает как это можно сделать???
(9) serko8547, Привет! По факту нет опыта написания команд для подключения к 1C через GET/PUT запросы. Но думаю, что это возможно. В этом и состоял вопрос может у Вас есть этот опыт и Вы можете поделиться информацией и объяснить что и как нужно делать правильно. Спасибо за понимание.
Собственно если кто-то озадачится этим вопросом, то как писали выше можно сделать 2 публикации, в одной прописать логин и пароль (мы так сделали для HTTP сервисов, там свою авторизацию сделали) и запретить там веб клиент и сделать 2ю публикацию (стандартную), собственно можно скопировать папку с публикацией и донастроить IIS \ Apache и .vrd файл
Пример действий для IIS
1) Есть папка client со стадартной авторизацией, публикация сделана из конфигуратора.
2) Копируем папку, называем ее api
3) В IIS конвертим в веб приложение.
4) В .vrd файл добавляем логин и пароль, а так же самое важное изменение, без него не будет работать, нужно сменить директиву base="/client" соответственно на base="/api"
В Апаче все тоже самое только 3 шаг меняется на правку конфига апача.
Для публикации http-сервисов на Linux без авторизации через webinst:
Делаем две публикации:
webinst -apache24 -wsdir BASENAME -dir /var/www/base -connstr "Srvr=localhost;Ref=BASE" -confPath /etc/apache2/apache2.conf
webinst -apache24 -wsdir BASENAME-NOAUTH -dir /var/www/base-noauth -connstr "Srvr=localhost;Ref=BASE" -confPath /etc/apache2/apache2.conf
В файле default.vrd, который создает 1с при публикации вашего веб сервера (смотрите его в этой же папке, в которой публикуете ваш веб-сервер) в строке: ib="Srvr="localhost";Ref="MY_1CBD";">
добавляем:
ib="Srvr="localhost";Ref="MY_1CBD";Usr="USR";Pwd="PASS";">
Apache 2.4 через <location> в httpd.conf. Удобно что после перепубликации не слетает
SSLProxyEngine on # Если используется SSL
<Location "/ИмяРесурсаДляВходаБезПароля/" >
ProxyPreserveHost On
LimitRequestBody 102400
ProxyPass "https://localhost/ИмяПубликации/hs/ИмяСервиса/"
RequestHeader set Authorization "Basic dGаfaG5vazo3Nk12Zmli" # Имя:Пароль в base64
</Location>
Как работает: при обращении на www.ВашСервер.ru/ИмяРесурсаДляВходаБезПароля/ запрос будет перенаправлен на опубликованный сервис с добавленным заголовком авторизации.
Круто! без всяких двойных публикаций!
по короткому пути коннект к сервисам. Огонь!
Нашел также вариант почти такой же - с редиректом с помощью nginx https://www.youtube.com/watch?v=ZTU8V22SYvc Это для тех, у кого IIS.
А с апачем можно и нужно ваш метод применять.
Единственный минус обоих способов - практически открытое хранение пароля.
Но в двойной публикации даже basic-шифрования нету, просто открытый пароль в vrd-файле хранится.
Так что здесь даже чуток надёжнее.