MVC中的会话管理

我是MVC的新手。 我正在MVC4 Razor中创建新的WebApplication。 我想维护所有页面的用户登录会话。 任何人都可以用小例子解释如何在MVC中维护所有视图的会话。

会话管理很简单。 Session对象在MVC控制器和HttpContext.Current.Session可用。 这是同一个对象。 以下是如何使用Session的基本示例:

 Session["Key"] = new User("Login"); //Save session value 

 user = Session["Key"] as User; //Get value from session 

回答你的问题

 if (Session["Key"] == null){ RedirectToAction("Login"); } 

查看Forms身份validation以实现高度安全的身份validation模型。


更新:对于较新版本的ASP.NET MVC,您应该使用ASP.NET Identity Framework。 请查看这篇文章 。

这是一个例子。 假设我们想在检查用户validation后管理会话,所以对于这个演示,我只是硬编码检查有效用户。 登录帐户

 public ActionResult Login(LoginModel model) { if(model.UserName=="xyz" && model.Password=="xyz") { Session["uname"] = model.UserName; Session.Timeout = 10; return RedirectToAction("Index"); } } 

在索引页面上

 public ActionResult Index() { if(Session["uname"]==null) { return Redirect("~/Account/Login"); } else { return Content("Welcome " + Session["uname"]); } } 

在SignOut按钮上

 Session.Remove("uname"); return Redirect("~/Account/Login"); 

您是否参与过Asp.Net应用程序? 使用Forms Authentication可以轻松维护用户会话。

找到以下给出的链接供您参考: http : //www.codeproject.com/Articles/578374/AplusBeginner-27splusTutorialplusonplusCustomplusF http://msdn.microsoft.com/en-us/library/ff398049(v=vs.100)的.aspx