Usando autenticação de formulários para logon e use HttpContext.Current.User.Identity

Eu criei um site com uma página que inclui uma forma de barbear. O usuário pode fazer login neste formulário e redirecionar para uma página diferente. O logon (e logoff) funciona com autenticação de formulários com êxito. No entanto, parece que não consigo usar HttpContext.Current.User.Identity.Name para recuperar o nome de usuário armazenado (no cookie de autenticação de formulários). Retorna uma string vazia "".

Estou usando o MVC 5 e o ASP 4.5 sem provedores de associação ou função padrão.

Conecte-se:

 [HttpPost]
        public ActionResult Login(User user)
        {
            if (ModelState.IsValid)
            {
                bool authenticated = userscontroller.isAuthorized(user.Email, user.Password);
                if (authenticated)
                {
                    if (userscontroller.isAuthenticated())
                    {
                        userscontroller.deAuthenticateUser();
                    }
                    userscontroller.authenticateUser(user);
                    return Redirect(Url.Action("Index", "Home"));
                }
            }
        }

Autenticando o usuário:

 public void authenticateUser(User user)
    {
        FormsAuthentication.SetAuthCookie(user.Username, false);
    }

Em seguida, obtendo o nome do usuário:

public User userFromCookie()
{
    if (isAuthenticated())
    {
        return getUserByUsername(HttpContext.Current.User.Identity.Name);
    }
    else { return null; }
}

isauthenticated ()

public bool isAuthenticated()
{
    if (System.Web.HttpContext.Current.User.Identity.IsAuthenticated)
    {
        return true;
    }
    else
    {
        return false;
    }
}

Webconfig:

<authentication mode="Forms">
  <forms loginUrl="~/Account/Login" timeout="2880" />
</authentication>
 <authorization > <deny users="?"/> </authorization>

Portanto, o identity.name retorna "".

Ajuda é apreciada!

questionAnswers(1)

yourAnswerToTheQuestion