entity-framework - impersonate asp net
Personificando al usuario con Entity Framework (1)
Su cadena de conexión EF tendrá que configurarse para usar una conexión de confianza.
No será necesario configurar la Suplantación de identidad en su web.config, pero sí debe usar la Autenticación de Windows.
Entonces solo haz esto:
using (((WindowsIdentity)HttpContext.Current.User.Identity).Impersonate())
using (var dbContext = new MyEntityFrameworkContainer())
{
...
}
Cualquier código dentro de las llaves de las instrucciones de uso se ejecutará como el usuario autenticado.
Así que tenemos nuestra aplicación web en funcionamiento con el marco de la entidad. Lo que nos gustaría hacer es suplantar al usuario actual cuando estamos accediendo al DB. No estamos interesados en configurar la suplantación en nuestra configuración web.
Lo ideal sería utilizar algo como esto: http://geekswithblogs.net/jkurtz/archive/2007/08/27/114992.aspx cuando estamos a punto de acceder a los datos.
ACTUALIZADO: Estoy buscando una manera de abstraer este código, así no tengo que tenerlo en cada llamada de función de repositorio.