网站开发需要学习什么技术,科技与生活,外贸网站建设制作公司,企业免费网站优化服务开发工具与关键技术#xff1a;Visual Studio、MVC
作者#xff1a;幻奏
撰写时间#xff1a;2019.05.27上次我把如何登录的代码给写了#xff0c;却没有写如何记住登录的账号密码#xff0c;所以现在我就简单的写一下是如何记住账号密码的。 如果我们没写记住密码的话Visual Studio、MVC
作者幻奏
撰写时间2019.05.27上次我把如何登录的代码给写了却没有写如何记住登录的账号密码所以现在我就简单的写一下是如何记住账号密码的。 如果我们没写记住密码的话那每登录一次就要重新输入一遍太麻烦了。所以我们还是把记住密码写上去方便一些。写记住密码也是挺简单的就是判断是否把记住密码打钩了然后把账号和密码存储到session中然后登录的时把它回填回去账号的存储时间是根据cookie来判断的。 首先我们在控制器那里把用户登录的方法给写了然后在判断查询出登录的账号、密码和数据库的账号、密码一样时我们就要把查询出的用户账号信息放到session里面去。
public ActionResult UserLogin(S_User pwUser){string strMsg fail;//定义一个记录状态的变量// 获取页面传递的变量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();结果只能有一条数据0条或者大于等于2条都会出现异常if (strPassword dbUser.Password){//把用户数据放到session中//设置sessionSession[UserID] dbUser.UserID;// 传递 UserIDSession[ServerTime] DateTime.Now.ToString(yyyy-MM-dd HH:mm:ss);//登录时间然后判断用户是否勾选了记住密码是就保存到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);//有效期设置为昨天浏览器会自动删除cookieResponse.Cookies.Add(cookie);}这里我们把cookie的有效期设置为昨天浏览器会自动删除cookie的。 用户登录的方法写完后我们就要在登录的控制器那里写回填的方法了。 首先我们要声明几个变量然后账号和密码赋值为空记住否的单选框我们给它false。
public ActionResult Login(){string UserNumber ;string Password ;bool isRember false;下面就是请求并获取cookie。
//获取cookieHttpCookie cookie System.Web.HttpContext.Current.Request.Cookies[user];
当cookie不为空的时候获取它的账号和密码。
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;}最后把数据返回到页面 //把数据传递到页面ViewBag.UserNumber UserNumber;ViewBag.Password Password;ViewBag.isRember isRember;return View();}再到页面的input里接收下账号和密码。
div classform-group form-rowlabel classsr-only forUserNumber用户名/labeldiv classcol-12div classinput-groupdiv classinput-group-prependdiv classinput-group-texti classfas fa-fw fa-user/i/div/divinput typetext nameUserNumber idUserNumber classform-control placeholder用户名 valueViewBag.UserNumber//div/div/divdiv classform-group form-rowlabel classsr-only forpassword密码/labeldiv classcol-12div classinput-groupdiv classinput-group-appenddiv classinput-group-texti classfas fa-fw fa-unlock/i/div/divinput typepassword namepassword idpassword classform-control placeholder密码 valueViewBag.Password//div/div/divdiv classform-group form-rowdiv classcol-12div classcustom-control custom-checkboxinput typecheckbox classcustom-control-input namerememberMe idrememberMe valuetrue (ViewBag.isRember ? checked : ) /label classcustom-control-label forrememberMe记住我span stylecolor: red(请不要在公用电脑上使用)/span/label/div/div/div这样子记住密码就写完了别人登录账号的时候也可以更加方便了