Нюансы настройки публикации web-сервиса 1С 8.2 в Apache и IIS | Жизнь, бизнес и IT

Авторизация пользователя при обращении к web сервису 1с

Если попытаться получить доступ к web сервису опубликованному под Apache не исправляя файл default.vrd, то появиться стандартный диалог авторизации:

Как убрать обязательную авторизацию веб-сервиса 1с?

Создал веб-сервис 1С. Опубликовал.
По ссылке перехожу на wsdl страницу. Требуется авторизоваться.
Проблема в том, если я укажу ссылку для создания классов в Visual Studio, то у меня повиснет процесс. Он будет постоянно висеть и пытаться авторизоваться. Ошибка 401.

Можно ли как-то обойти эту проблему? С примерами, пожалуйста, что и как делать.
Как вариант, что я думаю:
1. Убрать авторизацию обязательную => уберется для все веб-сервером, что будет плохо.
2. Попытаться снять только для этого веб-сервера авторизацию.
3. Как-то в Visual Studio сделать авторизацию (Через Проект – Подключение Веб-служб)

После чего рабочий web.config для опубликованного web сервиса 1с будет выглядеть следующим образом:

Эквивалент последней выполненной операции (настройка <authentication>) — публикация сервиса с включенной галкой в чекбоксе «Использовать аутентификацию операционной системы на веб-сервере». 1С при публикации меняет эту настройку не в web.config, а в настройках IIS через API. В любом случае изменения должны быть видны в консоли управления IIS:

Простой пример работы с аутентификацией openid на iis

Администрирование веб-серверовv8Бесплатно (free)

Если “веб морда” расположена не по тому же адресу, что и публикация 1С (что часто бывает, например, при разработке, публикация 1С на http://localhost/1c, а разрабатываемое веб-приложение на http://localhost:8080) или, например, мы заходим на веб приложение то по ip адресу, то по имени сервера, или просто веб сервер и сервер, на котором опубликована 1С – это разные сервера, то для большинства запросов от браузера к 1С срабатывает политика CORS, которая заключается в том, что браузер сначала посылает запрос OPTIONS, на который сервер должен ответить определенным образом, заголовками, содержащими разрешения, а потом уже (если разрешение есть), браузер посылает основной запрос. В случае, когда в публикации 1С (default.vrd) жестко прописан логин и пароль, разрулить ситуацию можно средствами 1С. В случае же, когда нужно сохранить авторизацию (или используется стандартный интерфейс odata), начинаются проблемы.

Похожее:  Сдек curl запросы? — Хабр Q&A

20.08.2022   
15461   
Fragster   
11    

Публикация web сервиса 1с на iis 7.5

Как уже упоминал выше, с публикацией web сервиса на IIS 7.5 с первого раза у меня не задалось, хотя тонкий клиент запускается без проблем. Поскольку пароль в конфигурационном файле по соображениям безопасности меня не устраивал, вернулся к вопросу настройки IIS.

Убрать форму авторизации опубликованной базы 1с

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

<?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=”/ИмяБД”
 
            ib=”Srvr=&quot;ИмяСервера:ПортСервера&quot;;Ref=&quot;ИмяБД&quot;;”
 
            enableStandardOData=”true”>
 
    <ws>
 
            <point name=”ИмяВебСервиса”
 
                        alias=”ИмяВебСервиса.1cws”
 
                        enable=”true”/>
 
    </ws>
</point>

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

ib=”Srvr=&quot;ИмяСервера:ПортСервера&quot;;Ref=&quot;ИмяБД&quot;;”

свои данные для авторизации, то есть указываем пользователя БД и его пароль. В итоге структура данного файла примет следующий вид:

<?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=”/ИмяБД”
 
            ib=”Srvr=&quot;ИмяСервера:ПортСервера&quot;;Ref=&quot;ИмяБД&quot;;Usr=&quot;ИмяПользователяБД&quot;;Pwd=&quot;ПарольПользователяБД&quot;;”
 
            enableStandardOData=”true”>
 
        <ws>
 
                <point name=”ИмяВебСервиса”
 
                alias=”ИмяВебСервиса.1cws”
 
                enable=”true”/>
 
        </ws>
</point>

Если использование веб-сервисов предполагается только определенному кругу пользователей, тогда необходимо настроить доступ к веб-серверу только по определнным IP-адресам.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *