zoukankan      html  css  js  c++  java
  • 自动登录

     自动登录,是将客户端登录验证通过的信息记录在客户端的cookie里,当下次登录时,通过cookie中记录的用户ID和Token,与数据库中的用户登录状态进行比较,比较通过以后自动登录。

    1、验证通过以后,写入cookie

      HttpCookie identityCookie = new HttpCookie("identity");
                identityCookie.HttpOnly = false;
                identityCookie.Expires = DateTime.MaxValue;
                identityCookie["userID"] ="2";
                identityCookie["token"] = (new Guid("837A2825-5649-4686-A071-FC3C8D267123")).ToString();
                HttpContext.Request.Cookies.Add(identityCookie);
                HttpContext.Response.Cookies.Add(identityCookie);

    2、判断是否已登录

       public bool IsLogin
            {
                get { return LoginUser != null; }
            }
    
            public User LoginUser
            {
                get
                {
                   var user= HttpContext.Items["identity"] as User;
                    if(user==null)
                    {
                        //判断是否记录过cookie
                        var cookIdentity = HttpContext.Request.Cookies["identity"];
                        if (cookIdentity != null)
                        {
                            var userID =int.Parse(cookIdentity["userID"]);
                            var  token =new Guid(cookIdentity["token"]);
                            //var mac = cookIdentity["mac"];
                            LoginHelp loginHelp=new LoginHelp();
                           user= loginHelp.GetUserByToken(userID,token);
                            HttpContext.Items["identity"] = user;
                        }
                    }
                    return user;
                }
            }

    3、判断是否已登录,已登录就进行跳转

      [HttpGet]
            public ActionResult Login()
            {
                if (Logined)
                {
                    return RedirectToAction("Index");
                }
                return View();
            }

    接下来要写两篇文章,对HttpContext和cookie进行了解。

  • 相关阅读:
    Java笔记
    多态
    JavaScript this
    JavaScript 对象的遍历以及判断方法
    javaScript 对象访问属性的另一种方式
    JavaScript 实现jquery方法连续调用效果
    JavaScript 命名空间
    JavaScript 继承
    python django 配置文件和url参数配置
    c# 6.0 新增功能
  • 原文地址:https://www.cnblogs.com/cainiaoguoshi/p/3300102.html
Copyright © 2011-2022 走看看