public IActionResult SQL([FromQuery] SQLModel model) { return(new Result <string> { code = ErrorCodeConst.ERROR_200, status = ErrorCodeConst.ERROR_200, data = Common.AESEncrypt(model.str, model.guid) }); }
/// <summary> /// @xis 加密密码 2020-3-25 07:54:39 /// </summary> /// <param name="id"></param> /// <param name="pwd"></param> /// <param name="salt"></param> /// <returns></returns> private string EncPassword(int id, string pwd, string salt) { return(Common.AESEncrypt(Common.MakeMd5(pwd, id.ToString()), Common.MakeMd5(salt + id + salt))); }
/// <summary> /// @xis 登录 2020-3-25 07:52:00 /// </summary> /// <param name="reqmodel"></param> /// <returns></returns> public async Task <Result> LoginAsync(reqmodel <LoginModel> reqmodel) { const string modelname = "UserServerImpl.LoginAsync"; Result <LoginResult> result = new Result <LoginResult> { status = ErrorCodeConst.ERROR_403, code = ErrorCodeConst.ERROR_100 }; string sql_user_select = g_sqlMaker.Select <t_user>(s => new { s.id, s.user_name, s.real_name, s.salt, s.log_pwd, s.position_id }) .Where($"user_name", "=", "@user_name") .And("state", "=", "@state") .ToSQL(); t_user user = await g_dbHelper.QueryAsync <t_user>(sql_user_select, new { reqmodel.Data.user_name, state = (int)EnumState.Normal }); if (user == null) { g_logServer.Log(modelname, "登录失败", new { msg = $"用户名:{reqmodel.Data.user_name}" }, EnumLogType.Debug); result.code = ErrorCodeConst.ERROR_1004; return(result); } string pwd = EncPassword(user.id, reqmodel.Data.password, user.salt); if (user.log_pwd != pwd) { g_logServer.Log(modelname, "登录失败", new { msg = $"用户名:{reqmodel.Data.user_name}" }, EnumLogType.Debug); result.code = ErrorCodeConst.ERROR_1004; return(result); } //获取职位信息 IPositionServer positionServer = new PositionServerImpl(g_dbHelper, g_logServer); t_position position_model = await positionServer.GetPosition(s => new { s.id, s.position_name, s.department_id }, user.position_id); if (position_model == null) { g_logServer.Log(modelname, "登录失败", new { msg = $"用户名:{reqmodel.Data.user_name},获取职位信息失败" }, EnumLogType.Debug); result.code = ErrorCodeConst.ERROR_1022; return(result); } //获取部门信息 IDepartmentServer departmentServer = new DepartmentServerImpl(g_dbHelper, g_logServer); t_department depart_model = await departmentServer.GetDepartment(s => new { s.id, s.department_name }, position_model.department_id); if (depart_model == null) { g_logServer.Log(modelname, "登录失败", new { msg = $"用户名:{reqmodel.Data.user_name},获取部门信息失败" }, EnumLogType.Debug); result.code = ErrorCodeConst.ERROR_1022; return(result); } //token string token = Common.AESEncrypt(Common.MakeMd5(Common.MakeGuid()), Common.MakeGuid()); LoginResult login_info = new LoginResult { user_id = user.id, user_name = user.user_name, avatar = user.avatar, real_name = user.real_name, department_id = depart_model.id, department_name = depart_model.department_name, position_id = position_model.id, position_name = position_model.position_name, token = token }; bool login_flag = await TokenRenewalAsync(token, login_info); if (!login_flag) { g_logServer.Log(modelname, "登录失败", new { msg = $"用户名:{reqmodel.Data.user_name},存Redis失败" }, EnumLogType.Debug); result.code = ErrorCodeConst.ERROR_1022; return(result); } result.data = login_info; result.status = ErrorCodeConst.ERROR_200; result.code = ErrorCodeConst.ERROR_1008; return(result); }