Авторизация в web-сервисах

seoman2

Lotus team
17.02.2010
462
1
#1
Как сделать авторизацию в своём веб-серсиве по логину и паролю?
В свойствах вебсервиса в безопастности - "Default access for this web service" выбор юзера (у него есть интернет пароль в names.nsf) не дает запроса на логин/пароль. Сразу:
Ошибка 404. HTTP Web Server: Ошибка Lotus Notes - File does not exist
 
Последнее редактирование модератором:

seoman2

Lotus team
17.02.2010
462
1
#2
ibm.com/developerworks/ru/library/web-services1
ibm.com/developerworks/ru/library/web-services2

не нашел ответ именно на этот вопрос.
 

savl

Lotus team
28.10.2011
2 135
104
#3
Из того что я понял про авторизацию в web-ser:
Если consumer, то надо его подключать в агент и прописывать авторизацю уже в агенте.
Если provider, то авторизацию надо прописывать на другой стороне, а на этой править ACL доступ.
 

seoman2

Lotus team
17.02.2010
462
1
#4
Вот в аське коллега подсказал: "я так понимаю что тебе эта закладка вообще скорее всего не нужна, в самой базе в АКЛ анонимного доступа не должно быть.. и тогда по идее должно появиться окошко ввода логина и пароля "
 

seoman2

Lotus team
17.02.2010
462
1
#5
А вот вопрос, через время сессия сбросится, повторно уже не выходит окно при обращении к сервису, а где настраивается время жизни сессии?
 

seoman2

Lotus team
17.02.2010
462
1
#7
В браузере, в SOAPUI - запрос авторизации.

И вообще неправильный логин кидает на names.nsf?Login

+ при прапвильном логин/пароле создается кикис на айпи или домен, а не на вебсервис...
 
Последнее редактирование модератором:

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 583
269
#8
ничего не понял, можно подробно описать всю схему взаимодействия?
что взаимодействует, у кого,, при каких условиях
пример:
-сервер - домино1, сервис, с адресом...
-клиент - открывает страницу из браузера, со скриптом, кот. выполняет запрос к сервису
-страница на сервере домино1
 

seoman2

Lotus team
17.02.2010
462
1
#9
1. На сервере домино в базе Arh.nsf есть вебсервис 192.168..../Arh.nsf/Service?WSDL
2. когда удалил анонимуса с ацл базы , то в клиентском браузере стал запрашиваться логин пароль.
В коде странички видно <form method="post" action="/names.nsf?Login">
3.При неправильном пароле браузер, естественно, кидает на 192.168..../names.nsf?Login
4. При правильном пароле браузер создает кукис для "192.168...." и есть доступ к вебсервису "192.168..../Arh.nsf/Service?WSDL "
 

rinsk

Lotus team
12.11.2009
900
44
#12
Сделать сайт в домино администраторе для этого? Web -> Internrt Sites
И прописать в Home URL: /Arh.nsf/Service?WSDL и так далее?
Не - не так. Это про дефолтную страницу для сайта.
После создания сайта - есть там пункт - Web Site rule.
Подробнее -
Для просмотра контента необходимо: Войти или зарегистрироваться
 

Shandrik

Lotus team
30.12.2010
268
12
#13
Вот в аське коллега подсказал: "я так понимаю что тебе эта закладка вообще скорее всего не нужна, в самой базе в АКЛ анонимного доступа не должно быть.. и тогда по идее должно появиться окошко ввода логина и пароля "
Да, надо Anonimus добавить в ACL и сделать ему уровень доступа NoAccess
 

seoman2

Lotus team
17.02.2010
462
1
#15
Не - не так. Это про дефолтную страницу для сайта.
После создания сайта - есть там пункт - Web Site rule.
Подробнее -
Для просмотра контента необходимо: Войти или зарегистрироваться
Сделал
Override Session Authentication только для /Service?WSDL
никаких изменений в работе вебсервиса не заметил.
 

seoman2

Lotus team
17.02.2010
462
1
#16
Я и в Web Site -> HTTP Sessions -> Session authentication: Disabled
всё рано кукисы создаются, базовой аутентификации логин/пароль - нет.
 

seoman2

Lotus team
17.02.2010
462
1
#18
Получилось, надо было еще в безопастности сайта (Web Site) в TCP аутентификации выкл анонимуса. И выкл. аутентификацию по сесии.
 

rinsk

Lotus team
12.11.2009
900
44
#19
или для всего сервера включить plain авторизацию
И выкл. аутентификацию по сесии.
ну в принципе то же самое.
если сервер только для этого сервиса - тогда вопросов нет. А так - при откл анонимуса вылезут всякие вещи, коих придется решать через HTTPPUBLICURLS например...
 

seoman2

Lotus team
17.02.2010
462
1
#20
Вопрос по вебсервисам. Как правильно передавать в вебсервисе вложения в документе? Всякие аттачи.
Выгружать на винт, в поток и кодировать в base64 засовывать?
И непонятно, почему в вебсервисе код с примера:
Forall o In doc.EmbeddedObjects
End Forall
дает ошибку - переменная не содержит объект.