none
Impersonación y seguridad en WCF RRS feed

  • Pregunta

  • Hola a tod@s!

    Tengo un servicio WCF de gestión documental que utiliza implicitamente el usuario de Windows para verificar si el usuario que accede al mismo tiene permiso para descargar un documento determinado o no.

    Actualmente el servicio se está consumiendo en una aplicación Windows y funciona correctamente. El problema radica en que a partir de ahora se va a empezar a consumir desde una aplicación Asp.Net de Intranet en la que todos los usuarios corren bajo un mismo usuario específico impersonado.

    ¿Cual sería la forma mas idónea de acceder al servicio? ¿Desimpersonarse, hacer la llamada y volver a impersonarse?

    Sergio
    viernes, 27 de febrero de 2009 11:35

Todas las respuestas

  • Me autorrespondo a mi mismo.

    Dim impersonationContext As System.Security.Principal.WindowsImpersonationContext 
    Dim currentWindowsIdentity As System.Security.Principal.WindowsIdentity 
     
    currentWindowsIdentity = CType(User.Identity, System.Security.Principal.WindowsIdentity) 
    impersonationContext = currentWindowsIdentity.Impersonate() 
     
    'TODO: Llamada al servicio 
     
    impersonationContext.Undo() 

    Sergio
    viernes, 27 de febrero de 2009 12:51