Имя: Пароль:
IT
 
Указание логина пароля в ссылке для базы 1С, работающей в веб-режиме
0 Aleksey1989
 
22.11.16
12:38
Добрый день. Помогите, пжл, советом. У нас 1С работает в веб-режиме, причем авторизация настроена средствами ОС, т.е. когда вбиваешь адрес  веб-узла, на котором находится опубликованная база 1С, сначала выпадает окно для ввода логина/пароля учетной записи ОС, а не 1С. Можно ли эти логин/пароль указывать в адресной строке браузера, т.е. что-то вроде

http://www.test.ru\base1c\login{test]\password{123}
1 Волшебник
 
модератор
22.11.16
12:40
Хуже не придумаешь
2 Aleksey1989
 
22.11.16
12:43
(1) По-другому, к сожалению, пока никак. Необходимо из другой базы 1С через http-сервис подключиться к этой базе 1С, но как обойти аутентификацию ОС не могу понять.
3 Fragster
 
гуру
22.11.16
12:51
так http-сервис или веб клиент? для http-сервиса работает basic авторизация (указание логина пароля через параметры http соединения во встроенном языке 1с)
4 Aleksey1989
 
22.11.16
17:59
(3) http-сервис. Можно подробнее про basic авторизацию - как ее реализовать непосредственно в 1С?

Сейчас для подключения к http-сервису я использую следующий код:

Соединение = Новый HTTPСоединение("127.0.0.1/test/hs/ExportDataFrom1c", , , , , );
        
ТелоЗапросаJSON = JSONЗапрос;

HTTPЗапрос = Новый HTTPЗапрос("/SendData");
HTTPЗапрос.УстановитьТелоИзСтроки(ТелоЗапросаJSON);

HTTPОтвет = Соединение.ОтправитьДляОбработки(HTTPЗапрос);
    
РезультатВыполнения = HTTPОтвет.ПолучитьТелоКакСтроку();
КодСостояния        = HTTPОтвет.КодСостояния;


Все работает, но для этот http-сервис я разместил на своем локальном пк с целью проверки работы самого http-сервиса, соответственно аутентификации по ОС не было установлено на уровне веб-сервера. Когда http-сервис будет опубликован на другом веб-сервере, то там уже будет аутентификация по ОС и этот код работать перестанет - будет ошибка 401, означающая ошибку при авторизации.
5 Asmody
 
22.11.16
18:07
(4) В СП читать параметры конструктора и свойства HTTPСоединение до просветления.
6 Aleksey1989
 
22.11.16
18:25
(5) Спасибо! Что-то сам не догадался посмотреть на параметры HTTPСоединения (нужно было указать логин, пароль и для параметра ИспользоватьАутентификациюОС установить Истина)