Авторизация при подключении к http сервису 1с
подскажите настроил сервис. выводит пользователям список документов. сделал без авторизации. вот пример файла 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 а хотелось бы под своим. подскажите как настроить параметры для входа под своим логином?
(1) flyer, А если убрать ";usr=site;pwd=12345" то будет спрашивать логин-пароль? (3)(3) flyer, Сделайте учетку для вебсервиса и опубликуйте в другой папке или на другом вебсервере, смотря на что хватит навыка. Делаешь две публикации одна для просто просмотра документов с прописанным пользователем и паролем в VRD, и вторую где пользователи логинятся. (7)Спасибо помогло!Создал вторую публикацию
Скопировал туда ВРД из основной публикации, прописал в скопированном врд автологин, теперь на одном урле обычный веб клиент с запросом пароля на другом урле хттп сервис
(12) Но как создать вторую публикацию? Скопировать папку с новым именем, добавить автологон в строку подключения в vrd и создать на IIS новое приложение с указанием пути к этой папке? Я так пробовал, не работает. Просит авторизацию.
Расскажите по шагам, плз.
С уважением, Андрей
Логин и пароль можно дописать перед именем сервера
Правда этот метод работает во всех браузерах, кроме IE
Проверил, нет такой метод ни где не работает. Все равно требует логин и пароль Блин, ну КАК, КАК вы логинитесь? можно по шагам. просто распишите - как? (9) serko8547, Привет! По факту нет опыта написания команд для подключения к 1C через GET/PUT запросы. Но думаю, что это возможно. В этом и состоял вопрос может у Вас есть этот опыт и Вы можете поделиться информацией и объяснить что и как нужно делать правильно. Спасибо за понимание.Пример действий для IIS
1) Есть папка client со стадартной авторизацией, публикация сделана из конфигуратора.
2) Копируем папку, называем ее api
3) В IIS конвертим в веб приложение.
4) В .vrd файл добавляем логин и пароль, а так же самое важное изменение, без него не будет работать, нужно сменить директиву base="/client" соответственно на base="/api"
В Апаче все тоже самое только 3 шаг меняется на правку конфига апача.
В Апаче все тоже самое только 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
Началось все с вопроса "А можно ли сделать так чтобы любой желающий мог получить доступ к нашему веб-клиенту, и для этого не нужно было бы всех заводить руками?". А дальше начались поиски решения) Задача стояла весьма увлекательная. Я, как человек мельком знакомый с веб-разработкой, и по основному профилю специализирующийся на разработке в 1С, видел свет в конце туннеля, но короткого пути не знал) Для решения моей задачи я обратился в интернет. Результатом поисков, проб и ошибок, стало такое решение.
Тестировалось все на
1. 1С 8.3.8 и 1С 8.3.13, но думаю будет работать и на других релизах 8.3
1. Универсальная форма для входа и регистрации в базе 1С. При логине пользователь не видит стандартного окна аутентификации 1С
3. Восстановление пароля пользователя 1С из веб-формы
4. При регистрации и восстановлении пароля пользователь получает письма с паролями
Для тех кому интересны мытарства с разворачиванием веб-сервера и публикацией, смотрим под катДля простоты разворачивания демонстрационной базы будем использовать Apache, великий и могучий. Он прост и понятен в настройке, для наших целей, это его главное преимущество перед всевозможными проблемами IIS.
После этого по экрану побегут строки, для нас главное увидеть, что везде написано Success и не написано Error. Как правило установка сервиса проходит успешно, и ошибки в основном происходят в момент ее тестового запуска. Если увидели ошибки, то как правило все они хорошо гуглятся и быстро решаются.
После того как установка прошла успешно желательно зайти в папку Apache\bin в проводнике и запустить ApacheMonitor. Для того чтобы в трее появился интерфейс быстрого управления службой Apache.
Для того чтобы потом удалить Apache нужно тоже зайти в консоль, выполнить то же самое. но с ключом -k uninstall
8. После установки Apache нужно установить модуль расширения web-сервера 1С. Для этого зайдите в список установленных приложений, выберите 1С, и нажмите "Изменить", после в диалоге установки выберите в списке прочего "Модуль расширения web-сервиса"
9. Установка окружения завершена. Остался только сам процесс публикации, который выполняется в пару кликов. Описывать не буду, надеюсь рядовой одинесник без труда с этим разберется. на этом все.
Архитектура решения такова:
Нам остается только подставить правильный адрес в атрибут action нашей формы. И готово.
С остальными функциями веб-формы логина все не так просто.
Хочется переделать на CURL для расширенной работы с ответом веб-сервиса, и переделать вызовы на AJAX. Но пока так.
3. Следующим по очереди идет файл config.php в папке assets, в нем указаны конфигурационные данные для подключения к нашему веб-сервису. код прост и незатейлив. Но сильно упрощает подключение.
из этого файла выбираются параметры для всех операций
4. и style.css, но это не так интересно. Стили здесь не главное.
Дальше переходим к стороне 1С.
/register и /resetPassword
Оба шаблона содержат POST-методы и устроены однообразно
Листинг функции регистрации в упрощенном виде выглядит так
Листинг функции восстановления пароля устроен подобным образом
Для тех кто станет это скачивать и пробовать. Нужно сделать следующее
1. .Заполнить параметры подключения к почтовому серверу в процедуре ПочтовыйПрофиль(), тогда почта начнет отправляться.
Настройка Apache
В конфигурации добавил
В "/etc/apache2/ports.conf" заменил "Listen 80" на "Listen 127.0.0.1:8080"
Запуск GateKeeper
Запускаю сервис с конфигурацией sudo gatekeeper --config gate_config.yml
Настраиваю KeyCloak
Создаю realm "onec_token", в нем создаю client "client_token" c типом public
Для GateKeeper обязателен параметр aud, делаю мапинг значений для clients в этот параметр
В ограничениях присутствуют группы, делаю их мапинг для clients
В realm создаю роль "client:test1" и группу "users", создаю пользователя добавляю его в группу и добавляю ему роль.
Изменяю длительность действия access_token с 5 мин до 1 часа, сделал для тестов.
Проверка ограничения
Отправляю запрос без аутентификации, получаю 401
Запросом к keycloack получаю токен
Из тела ответа беру значение access_token, добавляю его в bearer аутентификацию основного запроса, повторяю запрос, получаю в ответе идентификатор user.
Использую перенаправленные от GateKeeper заголовки авторизации.
При установке параметра "enable-authorization-header" передается весь токен в заголовок Authorization, но это может конфликтовать с авторизацией на уровне 1С.
Как организовать gatekeeper в качестве сервиса отдельный вопрос. Самое простое через docker. Возможно имеет смысл скомпоновать в один образ gatekeeper с WS компонентой 1С.
Проверку на подделку JWT не делал, тема отдельного блока тестов, думаю в данной реализации работает корректно.
Благодарю за внимание.
Специальные предложения
Просмотры 592
Загрузки 0
Рейтинг 8
Создание 22.10.21 11:10
Обновление 22.10.21 11:10
№ Публикации 1538558
Тип файла Нет файла
Конфигурация Не имеет значения
Операционная система Linux
Вид учета Не имеет значения
Доступ к файлу Бесплатно (free)
Код открыт Да
См. также
Подбираем сервер для 1C:ERP Промо
На Infostart Meetup Ekaterinburg ведущий разработчик 1С в компании ФТО Виталий Онянов рассказал, как подобрать сервер для 1С:ERP и на какие показатели ориентироваться, чтобы оборудование для высоконагруженной системы оправдало вложения.
26.03.2021 15293 Tavalik 72
Профили управления доступом к объектам в любой конфигурации на БСП
В данной статье рассмотрим механизмы стандартного управления профилями доступа к объектам в любой типовой конфигурации, в основе которой лежит БСП.
17.11.2021 1666 quazare 3
Внешняя компонента как REST-API-компонента.
. и совсем немного кода на С[++].
01.11.2021 1096 starik-2005 10
Повышение производительности веб-сервисов. Переиспользование сеансов
Повышение производительности веб-сервисов. Переиспользование сеансов. Практическая реализация.
20.10.2021 1590 sorter1 2
10.03.2016 58570 Serginio 33
Обновление платформы 1С тонкого клиента с вебсервера, когда сервер 1С ПРОФ
19.10.2021 1442 ser6702 13
Как доработать производительный RLS
Неоднократно в последнее время поступали задачи, когда требовалось доработать новый производительный RLS. В своей статье Ретунский Александр, программист компании АО «Корпоративные ИТ-проекты» (официальный партнер ИнфоСофт) опишет последовательность действий при доработке нового RLS, ключевые моменты и сложности, с которыми столкнулся. В Интернете статей или инструкций, которые подробно и просто описывают – как доработать производительный RLS, не так много и автор делиться своим опытом. В данной статье не будут описаны различия и плюсы/минусы между стандартным и производительным RLS, в Интернете по этому вопросу есть много информации.
18.10.2021 2458 Alexsandr_Retunskiy 4
Создаем php файл с текстом:
<?php
// Проверка наличия ошибок
if ($output === FALSE)
echo "cURL Error: " . curl_error($ch);
>
//Выводим сервисную информацию по выполнению запроса
$info = curl_getinfo($ch);
echo 'Took ' . $info['total_time'] . ' seconds for url ' . $info['url'];
// Очистка ресурсов
curl_close($ch);
*/
echo "<br>";
echo "<br>";
$obj = json_decode ( $output , true );
echo "Выводит все содержимое JSON";
echo "<br>";
var_dump ( $obj ); // Выводит все содержимое JSON в браузер
echo "<br>";
echo "<br>";
echo "Выводит одну запись из массива JSON";
echo "<br>";
$Code = $obj [1]['Code'];
echo $Code ;
echo "<br>";
$Naim = $obj [1]['Naim'];
echo $Naim ;
echo "<br>";
echo "<br>";
echo "Выводит циклически из массива JSON все записи";
echo "<br>";
foreach ( $obj as $key => $value)
<
foreach ( $obj [ $key ] as $key => $value )
<
echo $key .':'. $value . PHP_EOL ;
echo "<br>";
>
>
?>
Результат выполнения
/*
//Первый способ
// Получение файла JSON используя file_get_contents($url)
//отправляем запрос с параметрами
$username = "Администратор";
$password = "1";
$auth = base64_encode("$username:$password"); //Создаем строку авторизации
//по типу Basic auth, для авторизации в веб-сервисе
$context = stream_context_create([
'http' => [
'method' => "GET",
'header' => "Authorization: Basic $auth"
]
]);
$url ='http://localhost/test/hs/ob/OblistAll';
$output = file_get_contents($url, false, $context);
*/
//Второй способ
//Получение файла JSON используя curl
//Авторизация
$username = "Администратор";
$password = "1";
$host_api font-size: medium;">localhost /test";
$ch = curl_init ( $host_api );
// Проверка наличия ошибок
if ( $output === FALSE )
<
echo "cURL Error: " . curl_error ( $ch );
>
//Выводим сервисную информацию по выполнению запроса
$info = curl_getinfo ( $ch );
echo 'Took ' . $info ['total_time'] . ' seconds for url ' . $info ['url'];
// Очистка ресурсов
curl_close ( $ch );
echo "<br>";
echo "<br>";
$obj = json_decode ( $output , true );
echo "Выводит все содержимое JSON";
echo "<br>";
var_dump ( $obj ); // Выводит все содержимое JSON в браузер
echo "<br>";
echo "<br>";
echo "Выводит одну запись из массива JSON";
echo "<br>";
$Code = $obj [1]['Code'];
echo $Code ;
echo "<br>";
$Naim = $obj [1]['Naim'];
echo $Naim ;
echo "<br>";
echo "<br>";
echo "Выводит циклически из массива JSON все записи";
echo "<br>";
foreach ( $obj as $key => $value)
<
foreach ( $obj [ $key ] as $key => $value )
<
echo $key .':'. $value . PHP_EOL ;
echo "<br>";
>
>
?>
У каждого системы настроены по разному, версии могут различаться. Поэтому бывают такие моменты. Если углубиться в проблему, решение найдется.
Подскажите пожалуйста, как можно в сервисе, выполнить еще запрос на сервер, для получения параметра. И только потом формировать ответ.
Например на php у меня отрабатывает вот такой код
Очень приятно, что статья помогла вам найти решение поставленных задач!
Порно видео чат пары, чтобы посмотреть порно мультфильм похотливой сабы вместе с ее строгим пары чат бесплатно Дамианом. Один старый еврей со спущенными штанами занимался анальным сексом с многоголосой женщиной в ночных очках. Снежная буря царапает в одном порядке. Молодая пара свернулась калачиком в смятом сексе и смотрит порно мультфильм. Полная сексуальная русская пара следит за съемками, их возбуждают позы профиля и ракурсы. Домашний анал с многоголосой парой. Сосущая русская девушка лижет анальную дырочку и сует член в жопу парню. Снежная королева и аладдин. Снежные короли помогают двум храбрым русским детям сориентироваться в этом. Кожаная задница пушистого карлика заставляет русскую пару, незнакомую ни с какой китайской поэзией, хмуриться и хмуриться.
Энергия ветра будет стоить дешевле, чем принятое ископаемое топливо, которое станет ценным для всего необходимого, и будет радовать только для топлива, если это абсолютно необходимо. Фотовольтаика (солнечная электроэнергия) станет стандартной частью строительных материалов, генерируя энергию с эффективностью 25-30% и обеспечивая значительную часть непромышленного спроса. Даже некоторый промышленный спрос будет обеспечиваться за счет фотоэлектрических систем, встроенных в здания, эффективно обращая вспять традиционно принятые солнечные потоки. В относительно отдаленном будущем (
Возникает проблема, что правильнее, гознак или "специальная форма", киржач или ооо "знак". В общем, этот список не полный, есть перечень коммерческих производств, получивших государственный сертификат на производство. Нужно ли нам принимать во внимание эту реальность? Какой сертификат я должен заказать о во в нашем городе? Снимает этот вопрос просто, лучше иметь человека на государственной бумаге, который предлагает дипломы в университете. Суть в том, что руководство способно определять поставщиков бланков без контроля, а гознак, в дополнение ко всему, не такой уж дешевый партнер". Легитимность идентична, поэтому крупные компании предпочитают другие типографии. В случае, если вам понравилась эта короткая статья, и вы собираетесь получить подробную информацию о купить диплом псков I, я прошу всех пользователей посетить этот сайт.
Читайте также: