WSDL схема без авторизации

1. nbeliaev 830 22.09.17 09:18 Сейчас в теме
Приветствую, есть wsdl схема, при попытке к ней обратиться требуется логин и пароль. Вэб программист утверждает, что не сможет указать ни логин ни пароль в силу особенностей соап клиента. Таким образом нужно сделать схему доступной без авторизации, но операции вэб сервиса должны остаться с авторизацией (т.е. редактирование default.vrd не подойдет). Есть какие идеи?
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
8. maxmax83 22.09.17 19:27 Сейчас в теме +1 $m
(1) Предлагаю решение для Апача и его модуля mod_rewrite:
1. Создать пользователя с минимальными правами только для подключения к веб-сервису и просмотра wsdl, например, wsdl_view.
2. Создать еще один каталог на веб-сервере для просмотра wsdl, так и назовем его wsdl. Туда скопировать default.vrd из рабочего каталога. Отредактировать его так, чтобы остался включенным только веб-сервис и в параметр ib дописываем usr="wsdl_view";password="wsdl_view" т.е. чтоб заходил автоматом под этим пользователем.
3. В рабочем каталоге веб-сервиса создаем .htaccess который будет редиректить обращения с параметром wsdl в каталог wsdl
RewriteEngine On
RewriteCond %{QUERY_STRING} ^wsdl$
RewriteRule (.*) /wsdl/$1 [R=301]
4. Для безопасности в каталоге wsdl создаем .htaccess чтобы на обращения без параметра wsdl выдавал 403
RewriteEngine On
RewriteCond %{QUERY_STRING} !^wsdl$
RewriteRule ^ - [R=403]
5. Профит!
starik-2005; +1 Ответить
2. dmpas 418 22.09.17 12:44 Сейчас в теме
возьмите разово этот wsdl, сохраните в файл, пусть тот соап-клиент берёт описание из локального файла.
3. nbeliaev 830 22.09.17 12:52 Сейчас в теме
(2) не вариант, каждый раз придется так обновлять.
решил сделать через промежуточную пустую базу, в которой http сервис получит схему и вернет ее соап клиенту.
4. TODD22 18 22.09.17 12:54 Сейчас в теме
(3)
не вариант, каждый раз придется так обновлять.

Зачем каждый раз обновлять?
5. nbeliaev 830 22.09.17 13:46 Сейчас в теме
(4) Обновлять если изменения будут, понятно, что когда все будет готово - можно и через файл, но это все равно не комильфо. В силу ряда человеческих факторов - об этом легко забыть, тем более поддержку системы будет выполнять другой человек.
Сделал через пустую базу, в принципе все очень даже неплохо получилось.
6. TODD22 18 22.09.17 17:10 Сейчас в теме
(5) Можно попробовать передавать через один параметр xml файл. Тогда сам сервис меняться не будет. А будет меняться только структура xml файла.
9. nbeliaev 830 23.09.17 15:33 Сейчас в теме
(6) Не совсем понял Ваше решение, но походу речь про параметр операции - в таком случае все равно будет авторизация
(7) Я читал этот пост, спасибо
(8) Передам местному админу, спасибо
7. V_V_V 22.09.17 17:27 Сейчас в теме
Вот здесь описан способ отключения авторизации для конкретного веб-сервиса. Я как-то там (в комментариях) описал способ авторизации через пользователя операционки - но это не ваш случай...
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот