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); }
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); }
public bool Authenticate(LoginInfoEntity le) { return(dal.Authenticate(le)); }