Usar autenticación integrada con servicios web

Suponed el escenario en que deseaís que un servicio web ejecute código con las credenciales de un usuario que se conecta autenticandose con autenticación integrada a un front end web que a su vez se conecta a un servicio. O incluso con las credenciales con las que corre un smart client.

Simplemente tenéis que configurar los sitios web con autenticación integrada…

… y configurar l a aplicación web y la aplicación asp.net que expone los servicios web para que hagan impersonación. Esto se hace en el web.config de la aplicación web y de la aplicación asp.net del servicio añadiendo lo siguiente dentro de la sección <system.web>:

<identity impersonate=»true» />

Una vez configurado esto teneís tener en cuenta que cuando llamaís al sevicio a través del proxy habreís de pasarle las credenciales del usuario que se ha logeado actualmente para ello teneís que hacer la llamada asi:

CredentialCache mycredentials = new CredentialCache();
credentials.Add(new Uri(proxy.Url), «NTLM», CredentialCache.
DefaultNetworkCredentials);
proxy.Credentials = mycredentials;

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *