Пример #1
0
        public async Task <LoginInfoOutput> VerifyLoginInfo([FromBody] LoginInfoEntity input)
        {
            var output = new LoginInfoOutput();

            //防止暴力破解,2分钟内只允许错误20次。
            if (LoginNumber++ >= 20 || ErrLoginTime.AddMinutes(2) >= DateTime.Now)
            {
                ErrLoginTime = DateTime.Now;
                LoginNumber  = 0;
                return(output);
            }

            LoginInfo = await GetLoginAsync();

            if (input.Password == LoginInfo.NewPassword.ToBase64())
            {
                output.Token = $"{DateTime.Now}".DES3Encrypt();
                LoginNumber  = 0;
            }
            else
            {
                var defaultPassword = ConfigurationManager.GetTryConfig("DefaultPassword");
                if (!string.IsNullOrWhiteSpace(defaultPassword) && input.Password == defaultPassword.ToBase64())
                {
                    output.Token = $"{DateTime.Now}".DES3Encrypt();
                    LoginNumber  = 0;
                }
            }
            return(output);
        }
Пример #2
0
 public bool Authenticate(LoginInfoEntity le)
 {
     //code is written using LINQ or LAMBDA
     try
     {
         var result = db.Logininfoes.Where(x => x.mobno == le.MobNo && x.password == le.Password).SingleOrDefault();
         if (result == null)
         {
             return(false);
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
     return(true);
 }
Пример #3
0
 public bool Authenticate(LoginInfoEntity le)
 {
     return(dal.Authenticate(le));
 }