有的時候做網站,就需要記住用戶登錄信息,下次再登錄網站時,不用重復輸入用戶名和密碼,原理是瀏覽器的cookie把狀態給記住了!
那么具體是怎么實現的呢?下面博主將一部分代碼貼出來,想要完整版的Demo可以到百度云和碼云下載,
百度云下載鏈接:https://pan.baidu.com/s/19pL-koHI9UnVd4bK3Fpuyg 密碼: nud3
馬云下載鏈接:https://gitee.com/WuFengZui/RememberLoginDemo 【沒有下載鏈接的都是耍流氓 哈哈!!】
咱們先來看看效果圖:
下面是添加Cookie的代碼,不過這個方法是我封裝過的,方法中的具體操作可以查看第二段代碼
//創建Cookie【防止登錄信息泄露,這里使用Encode()將信息進行了加密】 SqlHelper.SetCookie("NameCookie", SqlHelper.Encode(UserName), DateTime.Now.AddDays(7)); SqlHelper.SetCookie("PwdCookie", SqlHelper.Encode(Pwd), DateTime.Now.AddDays(7)); //獲取Cookie string name = SqlHelper.GetCookieValue("NameCookie"); string pwd = SqlHelper.GetCookieValue("PwdCookie"); //刪除Cookie SqlHelper.RemoveCookie("NameCookie"); SqlHelper.RemoveCookie("PwdCookie");
封裝添加Cookie方法
/// <summary> /// 設置Cookie值和過期時間 /// </summary> /// <param name="cookieName">Cookie名稱</param> /// <param name="value">值</param> /// <param name="expires">過期時間</param> public static void SetCookie(string cookieName, string value, DateTime expires) { HttpCookie cookie = HttpContext.Current.Request.Cookies[cookieName]; if (cookie != null) { cookie.Value = value; cookie.Expires = expires; HttpContext.Current.Response.Cookies.Add(cookie); } else { cookie = new HttpCookie(cookieName); cookie.Value = value; cookie.Expires = expires; HttpContext.Current.Response.Cookies.Add(cookie); } }
封裝獲取Cookie方法
/// <summary> /// 獲得Cookie的值 /// </summary> /// <param name="cookieName">Cookie名稱</param> /// <returns></returns> public static string GetCookieValue(string cookieName) { HttpCookie cookie = HttpContext.Current.Request.Cookies[cookieName]; if (cookie == null) return ""; else return cookie.Value; }
新聞熱點
疑難解答