国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

Asp.net 中mvc 實現(xiàn)超時彈窗后跳轉(zhuǎn)功能

2024-07-10 12:49:20
字體:
供稿:網(wǎng)友

為了實現(xiàn)保持登錄狀態(tài),可以用cookie來解決這一問題

假設(shè)過期時間為30分鐘,校驗發(fā)生在服務(wù)器,借助過濾器,可以這樣寫

 public class PowerFilter : AuthorizeAttribute  {    public override void OnAuthorization(AuthorizationContext filterContext)    {      var cookie = HttpContext.Current.Request.Cookies["loginInfo"];      if(null == cookie)      {        filterContext.Result = new RedirectResult("/admin/login/index");      }      else      {        cookie.Expires = DateTime.Now.AddMinutes(30);        HttpContext.Current.Response.Cookies.Remove("loginInfo");        HttpContext.Current.Response.Cookies.Add(cookie);      }    }  }

但是頁面直接跳轉(zhuǎn)了,也沒有一個提示,顯得不是很友好,可以這樣

public class PowerFilter : AuthorizeAttribute  {    public override void OnAuthorization(AuthorizationContext filterContext)    {      var cookie = HttpContext.Current.Request.Cookies["loginInfo"];      if(null == cookie)      {        filterContext.Result = new ContentResult()        {          Content = string          .Format("<script>alert('登錄超時,請重新登錄');location.href='{0}'</script>","/admin/login/index")        };      }      else      {        cookie.Expires = DateTime.Now.AddMinutes(30);        HttpContext.Current.Response.Cookies.Remove("loginInfo");        HttpContext.Current.Response.Cookies.Add(cookie);      }    }  }}

但是,假如是ajax請求呢?

public class PowerFilter : AuthorizeAttribute  {    public override void OnAuthorization(AuthorizationContext filterContext)    {      var cookie = HttpContext.Current.Request.Cookies["loginInfo"];      if(null == cookie)      {        if(!filterContext.HttpContext.Request.IsAjaxRequest())        {          filterContext.Result = new ContentResult()          {            Content = string                 .Format("<script>alert('登錄超時,請重新登錄');location.href='{0}'</script>","/admin/login/index")          };        }        else        {          filterContext.Result = new JsonResult()          {            Data = new { logoff = true,logurl = "/admin/login/index" },            ContentType = null,            ContentEncoding = null,            JsonRequestBehavior = JsonRequestBehavior.AllowGet          };        }      }      else      {        cookie.Expires = DateTime.Now.AddMinutes(30);        HttpContext.Current.Response.Cookies.Remove("loginInfo");        HttpContext.Current.Response.Cookies.Add(cookie);      }    }  }

以上所述是小編給大家介紹的Asp.net 中mvc 實現(xiàn)超時彈窗后跳轉(zhuǎn)功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對錯新站長站網(wǎng)站的支持!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 桑日县| 铜梁县| 灵宝市| 松潘县| 溧阳市| 卢龙县| 罗江县| 明光市| 刚察县| 延庆县| 宽甸| 贵南县| 大邑县| 南城县| 凉城县| 天等县| 贡嘎县| 德兴市| 青川县| 合川市| 和硕县| 增城市| 昭平县| 鸡泽县| 甘德县| 名山县| 仁怀市| 唐河县| 泽普县| 霍山县| 保德县| 陇西县| 吴旗县| 佛山市| 锡林郭勒盟| 双牌县| 亚东县| 黄大仙区| 车致| 马公市| 华亭县|