如何在Telerik radgrid使用wcf服务时设置wcf凭据?

时间:2010-01-08 05:30:54

标签: wcf telerik radgrid

我有一个需要客户端凭据的wcf服务,所以我可以通过以下代码设置:

wcf.ClientCredentials.UserName.UserName = "user"; wcf.ClientCredentials.UserName.Password = "password";

我按照本教程介绍了如何创建telerik radgrid来使用wcf服务: http://blogs.telerik.com/blogs/posts/09-02-14/openaccess_wcf_and_a_radgrid_oh_my.aspx

但它没有关于如何设置凭据的任何信息。如果有人可以提供帮助,我会非常感激!!!

2 个答案:

答案 0 :(得分:1)

好的,如果你需要从另一台服务器获取数据,看起来你需要创建自己的服务器端类作为服务器上的ObjectDataSource作为你的WCF服务的客户端,因为浏览器的跨域限制将会防止RadGrid向两台服务器发出客户端请求。

您的ObjectDataSource完成了发出WCF请求的工作。

这是关于如何使用ObjectDataSource的Telerik RadGrid文档: http://demos.telerik.com/aspnet-ajax/controls/examples/integration/aspajaxgridapplication/defaultcs.aspx?product=grid

...这里是微软关于ObjectDataSource的文档: http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.objectdatasource.aspx

答案 1 :(得分:0)

您想在客户端设置凭据,即。用Javascript,是对的campo?如果这是正确的,我不知道是否存在或应该有一种设置凭证的方法,因为将它们包含在客户端代码中是不安全的。

由于Web服务必须与您的网页位于同一个域(因为跨域限制),如果您可以使用正常的ASP.NET会话,则用户已经过身份验证,因为它们已经过身份验证你的ASP.NET应用程序。

此博客文章详细介绍了如何为WCF启用“ASP.NET兼容模式”,这使您的WCF服务可以访问会话状态和其他ASP.NET内容: http://blogs.msdn.com/wenlong/archive/2006/01/23/516041.aspx

您可以在WCF应用程序的配置文件中设置它:

<system.serviceModel>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>
</system.serviceModel>