¿Cómo obtener User.Identity.Name desde un controlador?

Quiero tener alguna información de viewData en todas mis vistas, así que estoy siguiendo este tutorial

http://www.asp.net/LEARN/mvc/tutorial-13-cs.aspx

Así que hice mi propio controlador de aplicación pero necesito obtener el Nombre de usuario del usuario.

Sin embargo, cuando hago esto "HttpContext.User.Identity.Name" en el constructor siempre es nulo. Aunque no estoy seguro de por qué.

Gracias

Ok, la cosa base hizo el truco.

  protected override void Initialize(RequestContext requestContext)
    {
        base.Initialize(requestContext);
        Guid userId = coursesS.GetUserId(HttpContext.User.Identity.Name);
    }

Así que eso parece funcionar. Lo único ahora es que parece pasar por esto dos veces. Al igual que me conecto y parece hacer esto dos veces. Estoy adivinando ya que esto es como el equivalente a poner ese código en cada acción. Cuando estoy cargando todas estas vistas parciales en mi sitio al llamarlas desde mi controlador, lo hace.

Tantos debería hacerlo, pero no estoy seguro de cómo.

Respuestas a la pregunta(5)

Su respuesta a la pregunta