Verwenden der Formularauthentifizierung zum Anmelden und Verwenden von HttpContext.Current.User.Identity

Ich habe eine Website mit einer Seite erstellt, die ein Rasiermesser enthält. Der Benutzer kann sich in diesem Formular anmelden und dann zu einer anderen Seite weiterleiten. Das Anmelden (und Abmelden) funktioniert mit der Formularauthentifizierung erfolgreich. Ich kann jedoch scheinbar nicht HttpContext.Current.User.Identity.Name verwenden, um den gespeicherten Benutzernamen (im Formularauthentifizierungs-Cookie) abzurufen. Es wird eine leere Zeichenfolge "" zurückgegeben.

Ich verwende MVC 5 und ASP 4.5 ohne Standardmitgliedschaft oder Rollenanbieter.

Einloggen

 [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"));
                }
            }
        }

Authentifizierung des Benutzers:

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

Dann den Namen des Benutzers abrufen:

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>

So gibt der identity.name "" zurück.

Hilfe wird geschätzt!

Antworten auf die Frage(2)

Ihre Antwort auf die Frage