Si hallas algún fallo con tu código o proyecto, recuerda probar siempre en un entorno de testing antes aplicar el código al trabajo final.
Solución:
Debería consultar la descripción de suplantación de identidad de Keith Brown. Es realmente un concepto de Windows.
Cuando tiene una aplicación que utiliza autenticación de formularios (FA), el proceso de IIS se ejecuta con las credenciales de una configuración de usuario específica en IIS.
Ejemplo: si tiene un usuario llamado Bob que inició sesión utilizando la configuración de FA e IIS para ejecutarse como servicio de red. Bob accede a una página que realiza una llamada de servicio web a otra computadora, la otra computadora verá al usuario de IIS y no a Bob. Puede usar la suplantación para permitir que Bob acceda al servicio web como un usuario real de Windows y no como un servicio de red.
La suplantación de identidad no es mala, pero puede ser mal utilizada. Realmente necesita comprender el impacto en su modelo de seguridad general. También es algo que crea mucho trabajo para que un desarrollador lo depure. Este es especialmente el caso si no tiene derechos de administrador sobre el recurso (p. ej., servicio web) al que intenta acceder.
Las aplicaciones web se ejecutan a través de un servidor web. Ese servidor web se ejecuta como un usuario con permisos diferentes a los tuyos. La suplantación permite que la aplicación se ejecute como usted (o cualquier otro usuario con diferentes privilegios en la computadora), como si hubiera iniciado sesión en la computadora que la ejecuta.
De hecho, hace las cosas bastante bien. Le permite otra forma de otorgar/restringir el acceso a archivos protegidos en la computadora.
Y sí, puede aplicarlo mediante la autenticación de formularios (pero no es necesario).
Las aplicaciones ASP.NET pueden ejecutarse con la identidad de Windows (cuenta de usuario) del usuario que realiza la solicitud. La suplantación se usa comúnmente en aplicaciones que dependen de Microsoft Internet Information Services (IIS) para autenticar al usuario.
La suplantación de ASP.NET está deshabilitada de forma predeterminada. Si la suplantación está habilitada para una aplicación ASP.NET, esa aplicación se ejecuta en el contexto de la identidad cuyo token de acceso IIS pasa a ASP.NET. Ese token puede ser un token de usuario autenticado, como un token para un usuario de Windows que haya iniciado sesión, o el token que proporciona IIS para usuarios anónimos (normalmente, la identidad IUSR_NOMBREMÁQUINA).
Si sostienes alguna duda o capacidad de innovar nuestro crónica puedes ejecutar una explicación y con deseo lo interpretaremos.