signalR - obteniendo nombre de usuario

Estoy usando signalr y asp.net MVC3 para crear una aplicación de chat de muestra. Aquí es cómo se ve mi hub de señalización

public class MyHub:Hub,IDisconnect
{
 public Task Join()
 {
  string username = HttpContext.Current.User.Identity.Name;
  //find group based on username
  string group = getGroup(username)
  return Groups.Add(Context.ConnectionId, group);
 }

 public void doStuff()
 {
  string group = getGroup();
  Clients[group].doStuffOnBrowser();
 }
}

Mi problema es que mi aplicación se bloqueó cuando se carga la página. Al seguir con el depurador, encontré que HttpContext.Current.User.Identity.Name es nulo, aunque el usuario ya ha sido autenticado. ¿Cómo puedo obtener el nombre de usuario en mi método Task Join ()?

Respuestas a la pregunta(1)

Su respuesta a la pregunta