yl
2022-06-21 f7fdf63c13241dfa7d66a3315fd54429670e24bf
VueWebApi/Controllers/LoginController.cs
@@ -45,14 +45,20 @@
                    ms.password = dt.Rows[0]["PASSWORD"].ToString();
                    ms.usertype = "PC";
                    mss.Add(ms);
                    HttpContext.Current.Session["User"] = JsonConvert.SerializeObject(ms);
                    User loginUser = JsonConvert.DeserializeObject<User>(HttpContext.Current.Session["User"].ToString());
                    HttpContext.Current.Session.Clear(); //从会话状态集合中删除所有的键值
                    //HttpContext.Current.Session["User"] = JsonConvert.SerializeObject(ms);
                    //User loginUser = JsonConvert.DeserializeObject<User>(HttpContext.Current.Session["User"].ToString());
                    User loginUser = JsonConvert.DeserializeObject<User>(JsonConvert.SerializeObject(ms));
                    //如果redis登录用户中不存在当前用户
                    if (redis.Get<User>("LoginUserID" + ms.userid, 0) == null)
                    {
                        //redis.Remove("LoginUserID" + ms.userid, 0);
                        //写入redis(注意:redis类里面的失效时间必须在key创建完成之后才生效)
                        redis.Set<User>("LoginUserID" + ms.userid, ms, redis.secondsTimeOut, 0);
                        //登录信息写入session
                        HttpContext.Current.Session["User"] = JsonConvert.SerializeObject(ms);
                        //写入登录操作记录
                        mes = LoginBLL.LoginBas(ms.usercode, ms.usertype);
                        mes.code = "200";
                        mes.Message = "登录成功!";
                        mes.data = ms;
@@ -72,6 +78,10 @@
                        {
                            //重置过期时间(注意:redis类里面的失效时间必须在key创建完成之后才生效)
                            redis.Set<User>("LoginUserID" + loginUser.userid, loginUser, redis.secondsTimeOut, 0);
                            //登录信息写入session
                            HttpContext.Current.Session["User"] = JsonConvert.SerializeObject(ms);
                            //写入登录操作记录
                            mes = LoginBLL.LoginBas(ms.usercode, ms.usertype);
                            mes.code = "200";
                            mes.Message = "登录成功!";
                        }
@@ -123,20 +133,40 @@
        }
        #endregion
        #region[修改密码]
        /// <summary>
        /// 修改密码
        /// </summary>
        /// <param name="username">用户名</param>
        /// <param name="usercode">用户编码</param>
        /// <param name="username">用户名称</param>
        /// <param name="password">密码</param>
        /// <param name="newpassword">新密码</param>
        /// <returns></returns>
        [ChannelActionFilter,Route(template: "UpdateUserPassword")]
        [HttpPost]
        public HttpResponseMessage UpdateUserPassword(string username, string password,string newpassword)
        public HttpResponseMessage UpdateUserPassword(string usercode, string username, string password,string newpassword)
        {
            mes = LoginBLL.UpdateUserPassword(username, password,newpassword);
            mes = LoginBLL.UpdateUserPassword(usercode,username, password,newpassword);
            return mes.ResponseMess(mes);
        }
        #endregion
        #region[登出]
        /// <summary>
        /// 登出
        /// </summary>
        /// <param name="userid">用户id</param>
        /// <param name="usercode">用户编码</param>
        /// <param name="username">用户名</param>
        /// <param name="usertype">操作端PC/APP</param>
        /// <returns></returns>
        [ChannelActionFilter, Route(template: "LoginOut")]
        [HttpPost]
        public HttpResponseMessage LoginOut(int userid, string usercode, string username,string usertype)
        {
            mes = LoginBLL.LoginOut(userid,usercode, username, usertype);
            return mes.ResponseMess(mes);
        }
        #endregion
    }
}