Estoy usando SignalR para procesar los clics del cliente en mi aplicación MVC3.¿Cómo puedo acceder al usuario conectado desde fuera de un controlador?
Cada vez que un usuario hace clic en algo, necesito verificar que el usuario haya iniciado sesión.
Si este fuera el interior de un controlador MVC3, me gustaría ir:
if (User.Identity.IsAuthenticated)
{
string username = User.Identity.Name;
//My code here.
}
Sin embargo, esta no es la ejecución de código dentro de una clase controlador.
Básicamente, ¿cómo puedo acceder al nombre del usuario conectado desde fuera de un controlador?
Lo he probado usando HttpContext.Current y funciona. ¿Cuáles son algunas de las trampas que describes? ¿Cómo sería el contexto nulo? ¿Por qué me recomiendan que nunca use esto? –
@Sergio Tapia, el contexto será nulo si el código que está ejecutando es, por ejemplo, en alguna cadena de fondo. No respondiste a mi pregunta: ¿dónde intentas acceder a esta información? –
Ah, veo lo que dices, el contexto es parte de la clase Hub. ¿Es esto lo que quieres decir? Debería usar 'Context' en lugar de' HttpContext'? –