Пример #1
0
        public static string GetUserLogininfoByToken(string Token)
        {
            string str = string.Empty;

            try
            {
                IsoDateTimeConverter timeFormat = new IsoDateTimeConverter();
                timeFormat.DateTimeFormat = "yyyy-MM-dd HH:mm:ss";

                AchieveDBEntities  myDbContext = new AchieveDBEntities();
                List <tbUserToken> templist    = myDbContext.tbUserToken.Where(p => p.Token == Token).ToList();
                if (templist != null && templist.Count > 0)
                {
                    tbUserToken tempUser = templist[0];
                    if (tempUser.UpdateTime > DateTime.Now.AddHours(-1) && tempUser.CreateTime > DateTime.Now.AddHours(-12))
                    {
                        str = ResponseHelper.ResponseMsg("1", "验证Token成功", str);
                    }
                    else
                    {
                        str = ResponseHelper.ResponseMsg("-1", "验证Token已过期", str);
                    }
                }
                else
                {
                    str = ResponseHelper.ResponseMsg("-1", "Token不存在", str);
                }
            }
            catch (Exception ex)
            {
                str = ResponseHelper.ResponseMsg("-1", ex.Message, "");
            }

            return(str);
        }
Пример #2
0
        public static void CheckToken(string Token)
        {
            try
            {
                IsoDateTimeConverter timeFormat = new IsoDateTimeConverter();
                timeFormat.DateTimeFormat = "yyyy-MM-dd HH:mm:ss";

                AchieveDBEntities myDbContext = new AchieveDBEntities();
                tbUserToken       temp        = myDbContext.tbUserToken.Where(p => p.Token == Token).FirstOrDefault();
                if (temp != null)
                {
                    if (temp.UpdateTime > DateTime.Now.AddHours(-1) && temp.CreateTime > DateTime.Now.AddHours(-12))
                    {
                        temp.UpdateTime = DateTime.Now;
                        myDbContext.SaveChanges();
                    }
                    else if (temp.IsLoginOut == 1)
                    {
                        throw new Exception("用户已退出系统");
                    }
                    else
                    {
                        throw new Exception("验证Token已过期");
                    }
                }
                else
                {
                    throw new Exception("验证Token已过期");
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
Пример #3
0
        public static string LoginOut(string Token, string accountName)
        {
            string str = string.Empty;

            try
            {
                IsoDateTimeConverter timeFormat = new IsoDateTimeConverter();
                timeFormat.DateTimeFormat = "yyyy-MM-dd HH:mm:ss";

                AchieveDBEntities myDbContext = new AchieveDBEntities();
                tbUserToken       temp        = myDbContext.tbUserToken.Where(p => p.Token == Token).FirstOrDefault();
                if (temp != null)
                {
                    if (temp != null)
                    {
                        if (temp.UpdateTime > DateTime.Now.AddHours(-1) && temp.CreateTime > DateTime.Now.AddHours(-12))
                        {
                            tbUser tb = myDbContext.tbUser.Where(p => p.ID == temp.UserId).FirstOrDefault();
                            if (tb != null)
                            {
                                if (tb.AccountName == accountName)
                                {
                                    temp.IsLoginOut   = 1;
                                    temp.LoginOutTime = DateTime.Now;
                                    myDbContext.SaveChanges();
                                }
                                else
                                {
                                    throw new Exception("用户信息不匹配");
                                }
                            }
                            else
                            {
                                throw new Exception("用户信息不存在");
                            }
                        }
                        else if (temp.IsLoginOut == 1)
                        {
                            throw new Exception("用户已退出系统");
                        }
                        else
                        {
                            throw new Exception("验证Token已过期");
                        }
                    }
                    else
                    {
                        throw new Exception("验证Token已过期");
                    }



                    str = ResponseHelper.ResponseMsg("1", "取数成功", "");
                }
                else
                {
                    str = JsonConvert.SerializeObject(temp, Formatting.Indented, timeFormat);
                    str = ResponseHelper.ResponseMsg("-1", "Token不存在", str);
                }
            }
            catch (Exception ex)
            {
                str = ResponseHelper.ResponseMsg("-1", ex.Message, "");
            }

            return(str);
        }
Пример #4
0
        public static string GetUserByAccountName(string accountName, string passWord, string address, string port)
        {
            string str = string.Empty;

            try
            {
                passWord = Base64Helper.DecodeBase64(passWord);
                string md5passWord = Md5Helper.GetMD5String(passWord);
                IsoDateTimeConverter timeFormat = new IsoDateTimeConverter();
                timeFormat.DateTimeFormat = "yyyy-MM-dd HH:mm:ss";
                UserInfoModel     temp        = new UserInfoModel();
                AchieveDBEntities myDbContext = new AchieveDBEntities();
                List <tbUser>     templist    = myDbContext.tbUser.Where(p => p.AccountName == accountName).ToList();
                if (templist != null && templist.Count > 0)
                {
                    tbUser tempUser = templist[0];
                    if (tempUser.Password == md5passWord)
                    {
                        if (tempUser.IsAble != 1)
                        {
                            throw new Exception("帐号未启用!");
                        }

                        string   Token       = Guid.NewGuid().ToString();
                        DateTime newDataTime = DateTime.Now;

                        List <tbUserToken> tempOldTokenlist = myDbContext.tbUserToken.Where(p => p.UserId == tempUser.ID && p.IsLoginOut != 1).ToList();
                        foreach (var st in tempOldTokenlist)
                        {
                            st.IsLoginOut = 1;
                        }

                        tbUserToken newtb = new tbUserToken();
                        newtb.UserId     = tempUser.ID;
                        newtb.Token      = Token;
                        newtb.CreateTime = newDataTime;
                        newtb.UpdateTime = newDataTime;
                        newtb.Address    = address;
                        newtb.Port       = port;
                        newtb.IsLoginOut = 0;
                        myDbContext.tbUserToken.Add(newtb);
                        myDbContext.SaveChanges();

                        temp.ID          = tempUser.ID;
                        temp.AccountName = tempUser.AccountName;
                        temp.CreateTime  = DateTime.Now;
                        temp.RealName    = tempUser.RealName;

                        temp.Token      = Token;
                        temp.CreateTime = newDataTime;
                        str             = JsonConvert.SerializeObject(temp, Formatting.Indented, timeFormat);
                        str             = ResponseHelper.ResponseMsg("1", "取数成功", str);
                    }
                    else
                    {
                        str = JsonConvert.SerializeObject(temp, Formatting.Indented, timeFormat);
                        str = ResponseHelper.ResponseMsg("-1", "密码错误", str);
                    }
                }
                else
                {
                    str = JsonConvert.SerializeObject(temp, Formatting.Indented, timeFormat);
                    str = ResponseHelper.ResponseMsg("-1", "用户不存在", str);
                }
            }
            catch (Exception ex)
            {
                str = ResponseHelper.ResponseMsg("-1", ex.Message, "");
            }

            return(str);
        }