账号密码记住我的操作

文献种类:专题技术文献;
开发工具与关键技术:C# MVC
作者: 汤池 ;年级:2004 ;撰写时间: 2021 年 5 月 18 日
文献编号: 归档时间: 年 月 日

开发工具与关键技术: MVC
作者:汤池
撰写时间:2021/5/18
账号密码记住我操作
![在这里插入图片描述](https://img-blog.csdnimg.cn/2021051708134877.png#pic_center)




首先我们要用到type为checkbox 的input标签 
声明一个变量 =$("父标签   [name='RememberMe']").prop("checked"); 来监听Ture 或False
在视图勾选记住之后应该发送的是Ture,后台控制器 
在判断账号密码输入正确之后需要再加上一个判断
If(  这个变量的值==ture){
我们需要用到HttpCookie cookie 来储存账号和密码,
先用new创建一个新的HttpCookie cookie
HttpCookie cookie =new HttpCookie("user") 
这里我将cookie的名字设置为user 
创建好了之后需要将需要储存的数据放入cookie中
cookie["A"] =A;
cookie["B"] =B;
设置值后再去设置cookie的存储时间
cookie.Expires =DataTime.Now.AddDays(7);
Cookie的有效期 为 现在时间加上7天 ;
最后把创建的cookie 放入Cookies中
Response.Cookies.Add(cookie);
}
除了勾选记住我,还有不勾选记住我这种情况,我们就需要重新设置cookie
else{
HttpCookie cookie =new HttpCookie("user") 
将cookie的名字设置为user,同记住我的Cookie的名字相同
不勾选记住我时,不需要往user里面添加数据
只需要重新设置一下Cookie的有效日期
Cookie.Expires =DataTime.Now.AddDays(-1)
Cookie的有效期为-1天,等同于设置为无效
Response.Cookie.Add(cookie);
最后把无效的cookie覆盖或添加到Cookies中去
}
完整代码为
if (RememberMe == "True")
         {
                            HttpCookie cookie = new HttpCookie("user");
                            cookie["A"] = A;
                            cookie["B"] = B;
                            cookie.Expires = DateTime.Now.AddDays(7);
                            Response.Cookies.Add(cookie);
              }
                        else
                  {
                      HttpCookie cookie = new HttpCookie("user");
                      cookie.Expires = DateTime.Now.AddDays(-1);
                      Response.Cookies.Add(cookie);
                        }
设置好后 再去找到需要绑定账号密码的视图控制器,在控制器内声明 
            string A = "";   string B = "";  bool RememberMe = false;
 HttpCookie cookie = System.Web.HttpContext.Current.Request.Cookies["user"];
从系统网页查找名为user的cookie 赋值给HttpCookie cookie 里面
第一步需要判断该cookie是否为null,如果为null的话后面的步骤就不需要继续执行了
If(cookie!=null){
RememberMe =true
如果为不为空那么说明用户在之前勾选了记住我,所以 记住我的值为true
然后在一个个判断cookie["A"]或者cookie["B"]是否为空,如果不为空,则从cookie里面查找该数据并赋值
if (cookie["A"] !="") {
              A = System.Web.HttpContext.Current.Server.UrlDecode(cookie["A"]);
        }
     if (cookie["B"] != "") {
              B = System.Web.HttpContext.Current.Server.UrlDecode(cookie["B"]);
        }
}
把接收到的值给与页面 ,我用的是 ViewBage 来传输数据
ViewBag.A= A;
  ViewBag.B= B;
ViewBag.RememberMe = RememberMe;
 return View();
最后转到输入账号密码的视图内 , 将账号 或 密码 的 value值设置成 
@ViewBag.A   @ViewBag.B   
记住我的值也一样 @ViewBag.RememberMe

这样就能实现勾选 记住我 后面再次登录能够自动填写已经输入过且成功登录的账号密码  
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210517081420954.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1RhbmdDaGkxOTcw,size_16,color_FFFFFF,t_70#pic_center)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值