MVC 中的会话管理

本文关键字:管理 会话 MVC | 更新日期: 2023-09-27 18:33:50

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

MVC 中的会话管理

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

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

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

回答您的问题

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

查看窗体身份验证以实现高度安全的身份验证模型。


更新:对于较新版本 ASP.NET MVC,应使用 ASP.NET 标识框架。请查看这篇文章。

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

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

"注销"按钮

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

您是否在开发 Asp.Net 应用程序?使用表单身份验证,您可以轻松维护用户会话。

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