【问题标题】:RIA Authentication from a Web Services project来自 Web 服务项目的 RIA 身份验证
【发布时间】:2010-10-16 04:49:11
【问题描述】:

我有一个使用 RIA 服务的 silverlight 应用程序。我想重用 RIA 服务组件并从另一个 Web 服务调用它。 Web 服务和 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] 并且一切正常,没有任何问题。

【问题讨论】:

    标签: silverlight web-services ria


    【解决方案1】:

    查看此链接:

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

    基本上,您必须首先成功地对您的服务器进行身份验证,然后让服务器向您发回一个身份验证 cookie,您可以通过编程方式将其添加到打开 [RequiresAuthentication] 的 WCF RIA 方法的后续请求中。

    请注意,要使其正常工作,在您的客户端程序中,当设置 WCF 绑定以调用您的服务器 WCF RIA 方法时,请确保 allowCookies="false";这将允许来自上述链接的代码实际上能够在标题中手动设置 cookie。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-16
      • 1970-01-01
      • 2011-04-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多