cómo establecer credenciales WCF cuando Telerik RadGrid consume el servicio WCF?
Pregunta
Tengo un servicio de WCF que requiere credenciales del cliente para poder establecer esto a través de un código como este:
wcf.ClientCredentials.UserName.UserName = "user";
wcf.ClientCredentials.UserName.Password = "password";
He seguido este tutorial sobre cómo crear un RadGrid telerik a consumir el servicio WCF: http://blogs.telerik.com/blogs/posts/ 9.2.14 / openaccess_wcf_and_a_radgrid_oh_my.aspx
Pero no tiene ninguna información sobre cómo configurar las credenciales. Si alguien me puede ayudar lo agradecería muchísimo !!!
Solución
OK si necesita obtener datos de otro servidor, parece que usted necesita para crear su propia clase del lado del servidor como un ObjectDataSource en el servidor para ser el cliente para su servicio WCF, debido a las restricciones de varios dominios del navegador se evitar que el RadGrid puede generar peticiones de cliente para ambos servidores.
Su ObjectDataSource hace el trabajo de hacer las solicitudes de WCF.
Aquí están los documentos Telerik RadGrid de cómo utilizar un ObjectDataSource: http: //demos.telerik. com / aspnet-ajax / controles / examples / integración / aspajaxgridapplication / defaultcs.aspx? producto = rejilla
... y aquí está documentos de Microsoft en ObjectDataSource: http://msdn.microsoft.com/ en-us / library / system.web.ui.webcontrols.objectdatasource.aspx
Otros consejos
Se desea establecer las credenciales en el cliente, es decir. con Javascript, es que Campo verdad? Si eso es correcto, no sé si hay o debería haber una manera de establecer las credenciales, porque sería insegura para incluirlos en el código del lado del cliente.
Dado que el servicio web tiene que estar en el mismo dominio que la página Web (debido a las restricciones entre dominios) si se pudiera utilizar las sesiones normales de ASP.NET, el usuario ya puede autenticado porque ya están autenticados a la aplicación ASP.NET.
Este blog detalles de la publicación de como activarlo "ASP.NET Modo de compatibilidad" para el WCF, que da a su acceso a los servicios WCF estado de sesión ASP.NET y otras cosas: http://blogs.msdn.com/wenlong/archive/ 2006/01/23 / 516041.aspx
Se establece esto en el archivo de configuración de la aplicación WCF:
<system.serviceModel>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>
</system.serviceModel>