日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

如何写登录的记住账号

發(fā)布時(shí)間:2023/12/3 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何写登录的记住账号 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
開發(fā)工具與關(guān)鍵技術(shù):Visual Studio、MVC 作者:幻奏 撰寫時(shí)間:2019.05.27

上次我把如何登錄的代碼給寫了,卻沒有寫如何記住登錄的賬號密碼,所以現(xiàn)在我就簡單的寫一下是如何記住賬號密碼的。
如果我們沒寫記住密碼的話,那每登錄一次就要重新輸入一遍,太麻煩了。所以我們還是把記住密碼寫上去方便一些。寫記住密碼也是挺簡單的,就是判斷是否把記住密碼打鉤了,然后把賬號和密碼存儲到session中,然后登錄的時(shí)把它回填回去,賬號的存儲時(shí)間是根據(jù)cookie來判斷的。
首先我們在控制器那里把用戶登錄的方法給寫了,然后在判斷查詢出登錄的賬號、密碼和數(shù)據(jù)庫的賬號、密碼一樣時(shí),我們就要把查詢出的用戶賬號信息放到session里面去。

public ActionResult UserLogin(S_User pwUser){string strMsg = "fail";//定義一個(gè)記錄狀態(tài)的變量// 獲取頁面?zhèn)鬟f的變量string strUserNumber = pwUser.UserNumber;//用戶名string strPassword = pwUser.Password; //密碼string strIsRember = Request["rememberMe"];//記住否 try{S_User dbUser = (from tbUser in myModel.S_Userwhere tbUser.UserNumber == strUserNumber && tbUser.ToVoidNo == trueselect tbUser).Single();結(jié)果只能有一條數(shù)據(jù),0條或者大于等于2條都會出現(xiàn)異常if (strPassword == dbUser.Password){//把用戶數(shù)據(jù)放到session中//設(shè)置sessionSession["UserID"] = dbUser.UserID;// 傳遞 UserIDSession["ServerTime"] = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");//登錄時(shí)間

然后判斷用戶是否勾選了記住密碼,是就保存到cookie里面去,不是就把它刪除掉。

//記住用戶信息 使用cookieif (strIsRember != null && strIsRember.Trim() == "true"){//記住密碼 保存cookieHttpCookie cookie = new HttpCookie("user");cookie.Expires = DateTime.Now.AddDays(7);cookie["UserNumber"] = strUserNumber;//用戶名cookie["Password"] = strPassword;//密碼Response.Cookies.Add(cookie);}else{//忘記HttpCookie cookie = new HttpCookie("user");cookie.Expires = DateTime.Now.AddDays(-1);//有效期設(shè)置為昨天,瀏覽器會自動刪除cookieResponse.Cookies.Add(cookie);}

這里我們把cookie的有效期設(shè)置為昨天,瀏覽器會自動刪除cookie的。
用戶登錄的方法寫完后,我們就要在登錄的控制器那里寫回填的方法了。
首先我們要聲明幾個(gè)變量,然后賬號和密碼賦值為空,記住否的單選框我們給它false。

public ActionResult Login(){string UserNumber = "";string Password = "";bool isRember = false;

下面就是請求并獲取cookie。

//獲取cookieHttpCookie cookie = System.Web.HttpContext.Current.Request.Cookies["user"];

當(dāng)cookie不為空的時(shí)候,獲取它的賬號和密碼。

if (cookie != null){if (cookie["UserNumber"] != null){UserNumber = System.Web.HttpContext.Current.Server.UrlDecode(cookie["UserNumber"]);}if (cookie["Password"] != null){Password = System.Web.HttpContext.Current.Server.UrlDecode(cookie["Password"]);}isRember = true;}

最后把數(shù)據(jù)返回到頁面

//把數(shù)據(jù)傳遞到頁面ViewBag.UserNumber = UserNumber;ViewBag.Password = Password;ViewBag.isRember = isRember;return View();}

再到頁面的input里接收下賬號和密碼。

<div class="form-group form-row"><label class="sr-only" for="UserNumber">用戶名</label><div class="col-12"><div class="input-group"><div class="input-group-prepend"><div class="input-group-text"><i class="fas fa-fw fa-user"></i></div></div><input type="text" name="UserNumber" id="UserNumber" class="form-control" placeholder="用戶名" value="@ViewBag.UserNumber"/></div></div></div><div class="form-group form-row"><label class="sr-only" for="password">密碼</label><div class="col-12"><div class="input-group"><div class="input-group-append"><div class="input-group-text"><i class="fas fa-fw fa-unlock"></i></div></div><input type="password" name="password" id="password" class="form-control" placeholder="密碼" value="@ViewBag.Password"/></div></div></div><div class="form-group form-row"><div class="col-12"><div class="custom-control custom-checkbox"><input type="checkbox" class="custom-control-input" name="rememberMe" id="rememberMe" value="true" @(ViewBag.isRember ? "checked" : "") /><label class="custom-control-label" for="rememberMe">記住我<span style="color: red">(請不要在公用電腦上使用!)</span></label></div></div></div>

這樣子記住密碼就寫完了,別人登錄賬號的時(shí)候也可以更加方便了

總結(jié)

以上是生活随笔為你收集整理的如何写登录的记住账号的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。