예제 #1
0
        public Result SendVerificationCode(string account, string email)
        {
            Result Result = new Result();

            try
            {
                Random random = new Random();
                if (UserService.GetUser(account) != null)
                {
                    throw new Exception("该账号已经被注册!");
                }
                string code = random.Next(0, 9).ToString() + random.Next(0, 9).ToString()
                              + random.Next(0, 9).ToString() + random.Next(0, 9).ToString();
                CacheOption.SetValue("register_{0}".ToFormat(account), code,
                                     DateTime.Now + TimeSpan.FromHours(1));
                EmailConnect.SendEmail("火星人脚本账号注册", "验证码:{0}".ToFormat(code), email);
                Result.Data = "已经成功发送验证码,验证码只有一小时的有效期!";
            }
            catch (Exception ex)
            {
                Result.Msg = ex.Message;
                Result.SetCode(ResultCode.Fail);
            }
            return(Result);
        }
예제 #2
0
        public Result Login([FromQuery] string username, [FromQuery] string password)
        {
            Result Result = new Result();

            try
            {
                User user = UserService.GetUser(username);
                if (!UserService.CheckPassword(username, MD5Comm.Get32MD5One(password)))
                {
                    return(Result.Fail("账号或密码错误!"));
                }
                //计算cookie的值
                string cookieValue = MD5Comm.Get32MD5One(DateTime.Now.ToString());

                Console.WriteLine("用户 : " + user.Name + ", token : " + cookieValue);
                //存入缓存
                CacheOption.SetValue(cookieValue, user, DateTime.Now + TimeSpan.FromDays(100));
                //默认10天有效
                TokenInfo token = new TokenInfo(user.Name, DateTime.Now + TimeSpan.FromDays(10));
                this.SetUserToken(token, user);
                Result.Data = new { IsSpecial = user.IsHasSpecialPower() || ishaveroot(user),
                                    Time      = user.IsHasSpecialPower() ? (
                                        DateTime.Now + TimeSpan.FromDays(30)).ToString() : (user.EndDate == null || user.EndDate < DateTime.Now ? "未开通会员" : user.EndDate.ToString()),
                                    IsShowMsg = (user.Email == null || user.Email.Equals("")).ToString(),
                                    Msg       = "检测到您还没绑定邮箱,请有空尽快去绑定一下邮箱,群里有修改邮箱地址," +
                                                "绑定邮箱之后可以通过邮箱找回密码!",
                                    IsLogin  = true,
                                    UserName = user.Name,
                                    EndTime  = user.EndDate == null ? "" : user.EndDate.ToString() };
            }
            catch (Exception ex)
            {
                Result.SetCode(ResultCode.Fail);
                Result.Msg = ex.Message;
            }
            return(Result);
        }