2010-10-01 69 views
1

我有一個使用RIA服務的Silverlight應用程序。我想重用RIA服務組件並從另一個Web服務調用它。 Web服務和RIA服務組件將位於同一臺服務器上。來自Web Services項目的RIA身份驗證

我已經走得很遠了,我的web服務項目對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服務域類具有屬性[RequiresAuthentication。我想了解如何指定這些憑據並進行身份驗證?

就像測試我註釋了屬性[RequiresAuthentication]和一切工作沒有任何問題。

回答

1

退房此鏈接:

http://www.ben-morris.com/using-the-wcf-authentication-service-without-cookies

基本上,你必須對您的服務器首次成功進行身份驗證,並在服務器發回給你一個身份驗證cookie,你可以通過編程添加到後續請求啓用[RequiresAuthentication]的WCF RIA方法。在你的客戶端程序中,當設置WCF綁定來調用你的服務器的WCF RIA方法時,確保allowCookies =「false」;這將允許來自上述鏈接的代碼實際上能夠手動設置標頭中的Cookie。