Имя: Пароль:
1C
1С v8
Доменная авторизация для SOAP (WSОпределения, WSПрокси, СоздатьWSПрокси)
0 romix
 
24.06.15
23:25
В дереве метаданных 1С 8.3 есть Web-сервисы и WS-ссылки.

Я создал веб-службу для обмена между базами 1С. Все хорошо, но хочется прикрутить авторизацию через доменного пользователя, чтобы не указывать в явном виде имя и пароль пользователя в программном коде 1С:Предприятие. Вопрос: можно ли это сделать в 1С, или не стоит заморачиваться?

Пример обращения без WS-ссылки:


    Определение = Новый WSОпределения("http://localhost/basename/ws/DocumentState.1cws?wsdl", "user", "pass");
    Прокси = Новый WSПрокси(Определение, "http://www.domainname.ru/shipment", "DocumentState", "DocumentStateSoap");    
    Прокси.Пользователь= "user";    
    Прокси.Пароль= "pass";
    тест=Прокси.TestConnection();
    Сообщить(тест);


Пример обращения через WS-ссылки:


    Прокси = WSСсылки.ДанныеДокумента.СоздатьWSПрокси("http://www.domainname.ru/shipment", "DocumentState", "DocumentStateSoap");    
    Прокси.Пользователь= "user";    
    Прокси.Пароль= "pass";
    тест=Прокси.TestConnection();
    Сообщить(тест);
1 romix
 
25.06.15
14:44
Т.е. можно ли каким-то образом не передавать Пароль для WSПрокси прямо в коде. Или как там правильнее всего обеспечивать безопасность.
2 Господин ПЖ
 
25.06.15
14:49
это уже не от 1с зависит... а от сервиса в который ты стучишься... возможна ли там такая авторизация
3 Serginio1
 
25.06.15
14:54
https://dev.1c-bitrix.ru/learning/course/?COURSE_ID=48&LESSON_ID=5079

Другое дело, что 1С должна понимать какую авторизацию от неё хотят
4 Господин ПЖ
 
25.06.15
14:57
этого мало если iis и 1с на разных машинах
5 Serginio1
 
25.06.15
15:06
3+ http://stackoverflow.com/questions/18595246/soap-and-ntlm-authentication-between-debian-an-iis-server

Обычно сервер дает ответ о поддерживаемой авторизации
< HTTP/1.1 401 Unauthorized
< Content-Type: text/html
< Server: Microsoft-IIS/7.5
< WWW-Authenticate: NTLM

и здесь уже клиент должен выбрать нужный протокол авторизации
6 cdiamond
 
25.06.15
15:39
Сервер-то настроить на NTLM это самое легкое :)
Сдается мне, как клиент 1С такое не умеет. Какая учётка-то использоваться будет?
7 romix
 
26.06.15
12:36
(6) Я так понимаю, что учетка текущего зашедшего пользователя 1С — например, бухгалтера, которому надо получить какое-то сведение из другой базы по тому же выгруженному документу.
Но я подозреваю что такая задача средствами 1С не решается.
8 Господин ПЖ
 
26.06.15
13:05
>Какая учётка-то использоваться будет?

которая код в (0) выполняет
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший