System.Web.HttpContext.Current.User.Identity.Name Vs System.Environment.UserName en ASP.NET

¿Cuál es la diferencia entre System.Web.HttpContext.Current.User.Identity.Name y System.Environment.UserName en el contexto de un proyecto de aplicación web ASP.Net?

Aquí está el código de lo que estoy tratando de hacer:

 Database myDB = DatabaseFactory.CreateDatabase(); bool IsAuthUser = myDB.ExecuteScalar("procIsAuthorizedUser", System.Environment.UserName); 

Si son funcionalmente idénticos, ¿cuál es mejor en términos de rendimiento?

Esta es una aplicación web C # 4.0 / ASP.Net que verá un uso moderado internamente en la organización. Gracias por las respuestas.

System.Environment.UserName devuelve la identidad bajo la cual se ejecuta el grupo de aplicaciones que aloja su aplicación web. Si usa la autenticación y suplantación de Windows, será el nombre real del usuario, sin embargo, en todos los casos, es mejor que utilice la información proporcionada por el contexto HTTP. No hay ningún golpe de rendimiento en ambos sentidos.

Descripción

System.Web.HttpContext.Current.User.Identity.Name

Obtiene o establece la información de seguridad para la solicitud HTTP actual. (El nombre del usuario que inició sesión en su sitio web)

System.Environment.UserName

Obtiene el nombre de usuario de la persona que actualmente inicia sesión en el sistema operativo Windows.

Más información

  • MSDN – Propiedad HttpContext.User
  • MSDN – Propiedad Environment.UserName