Аутентификация RIA из проекта веб-сервисов - PullRequest
1 голос
/ 01 октября 2010

У меня есть приложение silverlight, использующее сервисы RIA. Я хочу повторно использовать компонент служб RIA и вызвать его из другого веб-службы. Веб-служба и компонент служб RIA будут находиться на одном сервере.

Я довольно далеко продвинулся, у моего проекта веб-сервиса есть «сервисная ссылка» на проект услуг RIA, и все это хорошо. Но когда я вызываю один из методов службы RIA, я получаю исключение

{DDB20766-F78A-42c7-B777-5ECF0AD9E4F3}Access to operation 'GetValidId' was denied.
at System.ServiceModel.DomainServices.Server.DomainService.ValidateMethodPermissions(DomainOperationEntry domainOperationEntry, Object entity)

Класс домена служб RIA имеет атрибут [Требуется аутентификация]. Я пытаюсь понять, как я могу указать эти учетные данные и выполнить аутентификацию?

В качестве теста я закомментировал атрибут [Требуется аутентификация], и все работало без проблем.

1 Ответ

1 голос
/ 16 октября 2010

Проверить эту ссылку:

http://www.ben -morris.com / с использованием-на-ФОС-аутентификации-сервис-без печенья

По сути, вы должны сначала успешно пройти аутентификацию на своем сервере и заставить сервер отправить вам cookie-файл аутентификации, который вы можете программно добавить к последующим запросам к методам RIA WCF с включенным [Требуется аутентификация].

Обратите внимание, чтобы это работало в вашей клиентской программе при настройке привязок WCF для вызова методов RIA WCF вашего сервера, убедитесь, что allowCookies = "false"; это позволит коду из приведенной выше ссылки фактически установить вручную файлы cookie в заголовке.

...