Je suis nouveau dans MVC. Je crée une nouvelle WebApplication dans MVC4 Razor. Je souhaite conserver la session de connexion utilisateur pour toutes les pages. Quelqu'un peut-il m'expliquer comment maintenir la session pour toutes les vues dans MVC avec un petit exemple.
La gestion de session est simple. L'objet de session est disponible dans le contrôleur MVC et dans HttpContext.Current.Session
. C'est le même objet. Voici un exemple de base de l'utilisation de Session:
Session["Key"] = new User("Login"); //Save session value
user = Session["Key"] as User; //Get value from session
if (Session["Key"] == null){
RedirectToAction("Login");
}
Consultez Authentification par formulaire pour implémenter un modèle d'authentification hautement sécurisé.
MISE À JOUR: Pour les versions plus récentes d'ASP.NET MVC, vous devez utiliser ASP.NET Identity Framework. Veuillez vérifier cet article .
Voici un exemple. Disons que nous voulons gérer la session après avoir vérifié la validation de l'utilisateur, donc pour cette démo uniquement, je vérifie le codage en dur de l'utilisateur valide. Connexion au compte
public ActionResult Login(LoginModel model)
{
if(model.UserName=="xyz" && model.Password=="xyz")
{
Session["uname"] = model.UserName;
Session.Timeout = 10;
return RedirectToAction("Index");
}
}
Sur la page d'index
public ActionResult Index()
{
if(Session["uname"]==null)
{
return Redirect("~/Account/Login");
}
else
{
return Content("Welcome " + Session["uname"]);
}
}
Bouton de déconnexion
Session.Remove("uname");
return Redirect("~/Account/Login");
Avez-vous travaillé sur l'application Asp.Net? En utilisant l'authentification par formulaire, vous pouvez facilement maintenir la session utilisateur.
Trouvez les liens ci-dessous pour votre référence: http://www.codeproject.com/Articles/578374/AplusBeginner-27splusTutorialplusonplusCustomplusFhttp://msdn.Microsoft.com/en-us /library/ff398049(v=vs.100).aspx