一段时间后如何在mvc中制作自动注销页面

问题描述 投票:-1回答:1

标题-asp.net-mvc5自动注销如何在一段时间后在asp.net-mvc5中使表单自动注销并自动重定向到登录页面

model-view-controller asp.net-mvc-5 asp.net-mvc-5.1
1个回答
0
投票

您需要在Login方法上创建一个会话变量。会话将由Session["Userid"]=Userid;创建。然后,您需要创建自定义属性来检查会话超时。您需要遵循的步骤是:

  • 在login()中创建会话变量(Post方法)
  • 在您的MVC项目中创建一个类文件。
  • 将以下代码复制并粘贴到该文件中。

    公共类SessionTimeOutAttribute:ActionFilterAttribute{公共重写void OnActionExecuting(ActionExecutingContext filterContext){

        Controller controller = filterContext.Controller as Controller;
    
        HttpContext httpContext = HttpContext.Current;            
        var rd = httpContext.Request.RequestContext.RouteData;
        string currentAction = rd.GetRequiredString("action");
        string currentController = rd.GetRequiredString("controller");
    
        if (HttpContext.Current.Session["UserId"] == null)
        {
            filterContext.Result = new RedirectResult("~/Account/Login?ReturnUrl=" + currentController + "/" + currentAction);
            return;
        }
        base.OnActionExecuting(filterContext);
    }
    

    }

  • 在每个控制器上添加[SessionTimeOut]属性。

    [SessionTimeOut]

    公共类ControllerName:控制器{

© www.soinside.com 2019 - 2024. All rights reserved.