1

У меня есть клиент, который хочет вызвать веб-службу. У меня есть веб-сервис (asmx), default.aspx, который может отображать претензии. У меня есть тест STS, которому доверяет мой веб-сервис. Я протестировал, и sts может отправить правильные претензии, а также веб-сервис, похоже, получит их, если я перейду по странице default.aspx, которая показывает претензии. Я создал прокси (с помощью Visual Studio «добавить ссылку на службу»), чтобы клиент мог вызвать веб-службу. Я не мог найти способ, как обращаться к веб-сервису от клиента программно, чтобы он прошел аутентификацию через мой STS. Я звоню как ниже, но sts возвращает ответ претензии клиенту, где он должен вернуться в веб-службу и вызвать функцию веб-службы.Как вызвать веб-службу, требующую аутентификации на основе утверждений?

MyClient = MyWebServiceSoapClient("MyWebServiceSoap", "http://127.0.0.1:81/MyService.asmx?whr=http%3a%2f%2flocalhost%3a25919%2fteststs%2fdefault.aspx%3fwa%3dwsignin1.0%26wtrealm%3dhttp%3a%2f%2f127.0.0.1%3a81%2fmyservice.asmx"); 
MyClient.MyServiceFunction(); 

ответ

1

Я написал библиотеку C#, которая позволяет вам получить токен SAML от сторонней STS и впоследствии ADFS для окончательной аутентификации в SharePoint. Это может иметь некоторую помощь:

http://www.huggill.com/2012/02/04/claims-proxy-a-c-sharp-library-for-calling-claims-protected-web-services/

+0

Спасибо за обмен, я написал что-то подобное, когда у меня была проблема. – aziz

Смежные вопросы