Duplicar posible:
difference between http.context.user and thread.currentprincipal and when to use them?Thread.CurrentPrincipal.Identity vs HttpContext.User.Identity
¿Cuál es la diferencia entre estos dos en una aplicación ASP.NET?
Sé que el HttpContext.User.Identity
se establece cuando el usuario se autentica a través del FormsAuthentication
. ¿Pero cuándo se establece el Thread.CurrentPrincipal.Identity
?
¿Siempre tienen el mismo valor?
¿Eso sigue siendo válido para otras capas de la aplicación que no tienen acceso a un HttpContext
?
'Thread.CurrentPrincipal' todavía funciona con' mode = "formas" '... – bevacqua
@Nico: Pero no le proporciona el usuario de inicio de sesión actual. Le dará los detalles del usuario de Windows en su lugar. Entonces, en este caso, Thread.CurrentPrincipal no tiene mucho sentido. – CharithJ
En la Autenticación de formularios, Thread.CurrentPrincipal puede no estar sincronizado desde HttpContext.User.Identity. Ver este viejo blog de [Hanselman] (http://www.hanselman.com/blog/SystemThreadingThreadCurrentPrincipalVsSystemWebHttpContextCurrentUserOrWhyFormsAuthenticationCanBeSubtle.aspx). También vea este nuevo [stackoverflow] (http://stackoverflow.com/a/16693746) – subsci