Имя: Пароль:
1C
 
Web-сервисы авторизация
0 GlobalAsax
 
23.05.08
11:35
Вижу все тут умные собрались...

Вот задавал вопрос на другом форуме. Там молчат как партизаны. Может здесь кто знает.

База на платформе 8.1 предоставляет web-сервис. Другая база его использует. Пока в первой базе не заданы пользователи, всё работает. Если добавить пользователя, то при получении WS-ссылки требуется ввести логин и пароль. Логин и пароль созданного пользователя не подходит.

Внимание вопрос:
откуда брать логин и пароль при получении WS-ссылки web-сервиса, предоставляемого базой, имеющей пользователей?

PS
Web-сервис предоставляет функционал базы (читает, получает данные и т.д.), поэтому разграничение прав доступа вполне логично. Пользователи 1С и web-сервисы как-то связаны между собой. Если ввести пользователей в базу, предоставляющую web-сервис, то при обращении к web-сервису возникает ошибка, связанная с правами доступа. Попытка авторизации в коде
Код


Прокси = WSСсылки.Остатки.СоздатьWSПрокси("http://localhost/ws/myws","MyWS","MyWSSoap");

Прокси.Пользователь = "Админ";

Прокси.Пароль = "123";


ничего не даёт. Говорит логин, пароль неверны (хотя это логин и пароль пользователя 1С базы, предоставляющ. web-сервис).
Логин и пароль запрашивается при создании ws-ссылки к базе, имеющ. пользователей 1С, или обновлении существующей ws-ссылки, через импорт WSDL.

Вопрос прежний: как пройти авторизацию при использовании web-сервиса, откуда брать логин и пароль (логин и пароль пользователей базы 1С не подходят)
1 ТелепатБот
 
гуру
23.05.08
11:35
2 GlobalAsax
 
23.05.08
11:40
(1)
Спасибо. Я знаю как создавать пользователей... ;)
3 Jolly Roger
 
23.05.08
11:57
(0) Кури file:///c:/Program%20Files/1cv81/AddDoc/RU/V8AddDoc81.htm. Там все написано.
4 Asmody
 
модератор
23.05.08
12:04
(0) обычно веб-сервис работает под одним конкретным пользователем (чаще - специально созданным). у меня вопрос решился очень просто - этот пользователь 1С "прикреплен" к пользователю IUSR_<>, ну и для него еще отключена авторизация 1С.
5 GlobalAsax
 
23.05.08
13:32
ОГРОМНОЕ СПАСИБО to Asmody! Работает.

Итак, требуется создать пользователя с windows-авторизацией и указать пользователя IUSR_<имя сервера>.
6 GlobalAsax
 
23.05.08
13:49
Но это только один пользователь на все веб-сервисы базы. Неужели нельзя иметь нескольких пользователей с разными правами для удаленного доступа? Если это так, то использование веб-сервисов ограничивается предоставлением информации БД, вроде прайса. А давать изменять  базу (например, добавлять документ ЗаказТоваров) через веб-сервисы уже опасно, поскольку любой может это сделать.

Остается производить авторизацию в самом обработчике веб-сервиса (передавать логин/пароль как параметр и проверять их). Но это как-то совсем...

Может кто знает другой путь?
7 Asmody
 
модератор
23.05.08
14:04
(6) ну, вообще-то можно. если развивать путь (4) можно настроить авторизацию пользователя средствами IIS, а в 1Ске соответственно сделать приязку к разным пользователям windows.
либо использовать свойства Пользователь и Пароль объекта WSПрокси. только в этом случае его создавать надо через конструктор вроде как...
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший