J'ai créé un site Web avec une page qui comprend un formulaire de rasoir. L'utilisateur peut se connecter sur ce formulaire, puis redirige vers une page différente. La connexion (et la déconnexion) fonctionne correctement avec formsauthentication. Cependant, je n'arrive pas à utiliser HttpContext.Current.User.Identity.Name pour récupérer le nom d'utilisateur stocké (dans le cookie formsauthentication). Il renvoie une chaîne vide "". J'utilise MVC 5 et ASP 4.5 sans fournisseur de rôle ou de rôle standard.Utilisation de formsauthentication pour la connexion et l'utilisation HttpContext.Current.User.Identity
Connexion:
[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"));
}
}
}
Authentification de l'utilisateur:
public void authenticateUser(User user)
{
FormsAuthentication.SetAuthCookie(user.Username, false);
}
ensuite obtenir le nom de l'utilisateur:
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>
Ainsi, les retours identity.name "".
L'aide est appréciée!
Cela n'a rien à voir avec Classic ASP. – Paul
@Kraishan Vous n'avez pas mentionné si vous utilisez ASP.NET/MVC et la version etc. Indiquez si vous utilisez un fournisseur d'appartenance ou des revendications, etc. –
Je n'ai pas mis en ASP classique dans le taglist, il a changé lui-même apparemment. Comme je l'ai maintenant déclaré dans le post principal, j'utilise MVC5 sans les fournisseurs d'adhésion/rôle. Et ASP 4.5. Merci d'avoir répondu! – Kraishan