Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# MVC中的会话管理_C#_.net_Asp.net Mvc_Asp.net Mvc 4_Session Management - Fatal编程技术网

C# MVC中的会话管理

C# MVC中的会话管理,c#,.net,asp.net-mvc,asp.net-mvc-4,session-management,C#,.net,Asp.net Mvc,Asp.net Mvc 4,Session Management,我是MVC的新手。我正在MVC4 Razor中创建新的Web应用程序。我想维护所有页面的用户登录会话。任何人都可以用一个小例子来解释如何在MVC中维护所有视图的会话。会话管理很简单。会话对象在MVC控制器内部和HttpContext.Current.Session中可用。它是同一个物体。以下是如何使用会话的基本示例: 写 阅读 回答你的问题 签出以实现高度安全的身份验证模型 更新:对于较新版本的ASP.NET MVC,应使用ASP.NET Identity Framework。请检查。您是否使

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

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

写 阅读 回答你的问题 签出以实现高度安全的身份验证模型



更新:对于较新版本的ASP.NET MVC,应使用ASP.NET Identity Framework。请检查。

您是否使用过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");

是否要在所有页面上显示用户登录?如何为每个视图检查该会话。如果会话不存在,那么如何重定向到登录表单。@SanketS:查看SimpleMembership,它将为您完成所有这些操作(并提供使用
[Authorize]
属性的便利)。
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");