|
Web-сервисы. Аутентификация ОС | ☑ | ||
---|---|---|---|---|
0
KRV_1983
22.03.17
✎
14:08
|
Можно ли из 1С вызвать веб-сервис стороннего ПО (аутентификация в нем - по AD), от имени текущего пользователя (аутентификация в 1С по AD)?
Если можно, то как? Где можно посмотреть? При вызове предполагается заполнить логин и пароль, если прописать ИмяДомена\пользователь и пароль, то все хорошо, но пароль пользователя неизвестен, да и не пропишешь его в коде.. Можно ли обойти это? |
|||
1
DmitrO
22.03.17
✎
14:31
|
СоздатьWSПрокси(<URIПространстваИменСервиса>, <ИмяСервиса>, <ИмяПорта>, <ИнтернетПрокси>, <Таймаут>, <ЗащищенноеСоединение>, <Местоположение>, <ИспользоватьАутентификациюОС>)
Новый WSПрокси(<Определение>, <URIПространстваИменСервиса>, <ИмяСервиса>, <ИмяТочкиПодключения>, <ИнтернетПрокси>, <Таймаут>, <ЗащищенноеСоединение>, <Местоположение>, <ИспользоватьАутентификациюОС>) последние два параметра в обоих случаях добавили еще в 8.3.7 |
|||
2
KRV_1983
22.03.17
✎
14:48
|
1, есть пример?
Если пароль не прописать, выходит Ошибка HTTP без всяких описаний |
|||
3
DmitrO
22.03.17
✎
14:52
|
с параметром ИспользоватьАутентификациюОС=Истина, заполненым именем пользователя (ИмяДомена\пользователь) и пустым паролем вызывал?
|
|||
4
Вафель
22.03.17
✎
14:53
|
(3) а зачем имя пользователя указывать?
|
|||
5
KRV_1983
22.03.17
✎
14:57
|
3,4 вызывал и так и так. Ошибка в обоих случаях
|
|||
6
Вафель
22.03.17
✎
14:58
|
а из браузера работает?
|
|||
7
Вафель
22.03.17
✎
14:58
|
с сервера вызываешь?
|
|||
8
KRV_1983
22.03.17
✎
14:59
|
Ошибка при вызове метода контекста (Load): При вызове веб-сервиса произошла ошибка. Ошибка вызова операции сервиса: {http://tempuri.org/}:WB:Load(): Ошибка HTTP:
|
|||
9
KRV_1983
22.03.17
✎
14:59
|
да, с сервера
|
|||
10
Вафель
22.03.17
✎
15:00
|
(9) под каким пользователем крутится сервер? ему доступ к сервису положен?
|
|||
11
KRV_1983
22.03.17
✎
15:02
|
10, нет, под локальным пользователем. У него доступа к веб сервису нет
|
|||
12
DmitrO
22.03.17
✎
15:03
|
(4)да, пользователя тоже не надо, туплю, в хттп запрос должен поступить текущий пользователь вызывающего процесса.
|
|||
13
Вафель
22.03.17
✎
15:03
|
(11) ну вот и весь ответ. делай на клиенте тогда
|
|||
14
Вафель
22.03.17
✎
15:04
|
хотя на клиенте это не работает
|
|||
15
KRV_1983
22.03.17
✎
15:05
|
вернулись к первому вопросу - как это обойти?
|
|||
16
DmitrO
22.03.17
✎
15:07
|
да, кстати, тут проблема будет в том что с клиента это сделать нельзя, а олицетворения в 1совской архитектуре клиент-сервер нету.
|
|||
17
Вафель
22.03.17
✎
15:07
|
не использовать виндовс авторизацию
|
|||
18
DmitrO
22.03.17
✎
15:08
|
а вот HTTPСоединение может работать на клиенте, там должно получиться
|
|||
19
DmitrO
22.03.17
✎
15:16
|
(15)теоретически обойти можно только так: работать с клиента через HTTPСоединение.
Формировать, что называется руками, SOAP запрос (xml), и отправлять через HTTPСоединение с клиента. Полученный на клиенте SOAP ответ (xml) передавать на сервер и сериализатором перегонять в объект XDTО. |
|||
20
DmitrO
22.03.17
✎
15:25
|
Сюда неплохо подошла бы система с ключами авторизации:
сначала с клиента получить некий ключ авторизации (строка временный хешкод) потом передать ее на сервер и работать там в рамках него, указывая его параметре метода или в SOAP заголовке. Но реализация сервиса сложнее, да и 1С до сих пор с SOAP заголовками не работает. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |