Example #1
0
        /// <summary>
        /// 添加用户
        /// </summary>
        /// <param name="userId"></param>
        /// <param name="userName"></param>
        /// <param name="e_mail"></param>
        /// <param name="tel"></param>
        /// <param name="sex"></param>
        /// <param name="post"></param>
        /// <param name="isAble"></param>
        /// <param name="isChangePwd"></param>
        /// <param name="desc"></param>
        /// <returns></returns>
        public JsonMessage Insert(string userId, string userName, string e_mail, string tel, bool sex, string post, bool isAble, bool isChangePwd, string desc)
        {
            JsonMessage jsonMsg = new JsonMessage(); //返回Json
            int         result  = -1;                //类型(成功 、失败)

            try
            {
                DataTable dt = _userRep.GetById(userId);
                if (dt.Rows.Count > 0)
                {
                    throw new CustomException(0, "该用户已存在");//该用户已存在
                }

                string       newPwd = "123456";
                SysUserModel model  = new SysUserModel();
                model.USER_CODE   = userId;
                model.USER_NAME   = userName;
                model.USER_PWD    = MD5Cryption.MD5(newPwd);
                model.USER_EMAIL  = e_mail;
                model.USER_TEL    = tel;
                model.USER_SEX    = sex ? 1 : 0;
                model.USER_POST   = post;
                model.IS_ABLED    = isAble ? 1 : 0;
                model.IS_C_PWD    = isChangePwd ? 1 : 0;
                model.QR_CODE     = DESCryption.Encrypt(userId + newPwd);
                model.USER_DESC   = desc;
                model.CREATE_USER = UserID;
                model.LM_USER     = UserID;

                result  = _userRep.Insert(model);
                jsonMsg = ServiceResult.Message(result, "添加用户成功");
            }
            catch (CustomException ex)
            {
                jsonMsg = ServiceResult.Message(ex.ResultFlag, ex.Message);
            }
            catch (Exception ex)
            {
                jsonMsg = ServiceResult.Message(-1, ex.Message);
                WriteSystemException(ex, this.GetType(), OPT_MODEL, "添加用户失败");
            }

            //写入log
            WriteSystemLog(jsonMsg, CREATE, OPT_MODEL, "添加用户");

            return(jsonMsg);
        }
Example #2
0
        /// <summary>
        /// 修改用户信息
        /// </summary>
        /// <param name="userId"></param>
        /// <param name="userName"></param>
        /// <param name="e_mail"></param>
        /// <param name="tel"></param>
        /// <param name="sex"></param>
        /// <param name="post"></param>
        /// <param name="resetPwd"></param>
        /// <param name="qrCode"></param>
        /// <param name="isAble"></param>
        /// <param name="isChangePwd"></param>
        /// <param name="desc"></param>
        /// <returns></returns>
        public JsonMessage Edit(string userId, string userName, string e_mail, string tel, bool sex, string post, bool resetPwd, bool qrCode, bool isAble, bool isChangePwd, string desc)
        {
            JsonMessage jsonMsg = new JsonMessage(); //返回Json
            int         result  = -1;                //类型(成功 、失败)

            try
            {
                DataTable dt = _userRep.GetById(userId);
                if (ValidateHelper.IsDataTableNotData(dt))
                {
                    throw new CustomException(0, "该用户不存在");
                }

                string       newPwd = "123456";
                SysUserModel model  = new SysUserModel();
                model.USER_CODE  = userId;
                model.USER_NAME  = userName;
                model.USER_PWD   = resetPwd ? MD5Cryption.MD5(newPwd) : dt.Rows[0]["USER_PWD"].ToString();
                model.USER_EMAIL = e_mail;
                model.USER_TEL   = tel;
                model.USER_SEX   = sex ? 1 : 0;
                model.USER_POST  = post;
                model.IS_ABLED   = isAble ? 1 : 0;
                model.IS_C_PWD   = isChangePwd ? 1 : 0;
                model.QR_CODE    = qrCode ? DESCryption.Encrypt(userId + newPwd) : dt.Rows[0]["QR_CODE"].ToString();
                model.USER_DESC  = desc;
                model.LM_USER    = UserID;
                result           = _userRep.Edit(model);

                jsonMsg = ServiceResult.Message(result, "修改用户成功");
            }
            catch (CustomException ex)
            {
                jsonMsg = ServiceResult.Message(ex.ResultFlag, ex.Message);
            }
            catch (Exception ex)
            {
                jsonMsg = ServiceResult.Message(-1, ex.Message);
                WriteSystemException(ex, this.GetType(), OPT_MODEL, "修改用户失败");
            }

            //写入log
            WriteSystemLog(jsonMsg, CREATE, OPT_MODEL, "修改用户");

            return(jsonMsg);
        }
        /// <summary>
        /// 验证核心代码
        /// </summary>
        /// <param name="httpContext"></param>
        /// <returns></returns>
        protected override bool AuthorizeCore(HttpContextBase httpContext)
        {
            //前端请求api时会将token存放在名为"auth"的请求头中
            var authHeader = httpContext.Request.Headers["auth"];

            if (authHeader == null)
            {
                return(false);
            }


            //请求参数
            string requestTime = httpContext.Request["rtime"]; //请求时间经过DESC签名


            //var ss = DESCryption.Encode(DateTime.Now.ToString());

            if (string.IsNullOrEmpty(requestTime))
            {
                return(false);
            }

            //请求时间RSA解密后加上时间戳的时间即该请求的有效时间
            DateTime Requestdt = DateTime.Parse(DESCryption.Decode(requestTime)).AddMinutes(int.Parse(TimeStamp));
            DateTime Newdt     = DateTime.Now; //服务器接收请求的当前时间

            if (Requestdt < Newdt)
            {
                return(false);
            }
            else
            {
                //进行其他操作
                var userinfo = JwtHelp.GetJwtDecode(authHeader);
                //举个例子  生成jwtToken 存入redis中
                //这个地方用jwtToken当作key 获取实体val   然后看看jwtToken根据redis是否一样
                if (userinfo.UserName == "admin" && userinfo.Pwd == "123")
                {
                    return(true);
                }
            }

            return(false);
        }
Example #4
0
        /// <summary>
        /// 用户登录
        /// </summary>
        /// <param name="model">返回用户信息</param>
        /// <param name="user_id">登录名</param>
        /// <param name="pwd">密码</param>
        /// <returns></returns>
        public JsonMessage Login(ref AccountModel model, string user_id, string pwd)
        {
            JsonMessage jsonMsg = new JsonMessage(); //返回Json
            int         result  = -1;                //类型(成功 、失败)

            try
            {
                if (ValidateHelper.IsNullOrEmpty(StringHelper.Trim(user_id)))
                {
                    throw new CustomException(0, "用户名不能为空");
                }
                if (ValidateHelper.IsNullOrEmpty(pwd))
                {
                    throw new CustomException(0, "密码不能为空");
                }

                //UserID = userId;
                DataTable            dt   = _userRep.Login(user_id, MD5Cryption.MD5(pwd));
                IList <SysUserModel> list = ConverHelper.ToList <SysUserModel>(dt);
                if (list.Count < 1)
                {
                    throw new CustomException(2, "用户名或密码错误");//用户名或密码错误
                }
                if (!ConverHelper.ToBool(list[0].IS_ABLED))
                {
                    throw new CustomException(3, "账号已被禁用,请联系系统管理员");//账号是否被禁用
                }
                model.UserCode = list[0].USER_CODE;
                model.UserName = list[0].USER_NAME;
                model.LoginNo  = list[0].USER_CODE;
                model.QRCode   = list[0].QR_CODE;
                model.DeptCode = list[0].DEPT_CODE;

                jsonMsg = ServiceResult.Message(1, "登录成功");

                SessionHelper.SetSession("Account", model);

                CookieHelper.SetCookie("Account", DESCryption.Encrypt(ConverHelper.ToJson(model)));
            }
            catch (CustomException ex)
            {
                jsonMsg = ServiceResult.Message(ex.ResultFlag, ex.Message);
            }
            catch (Exception ex)
            {
                jsonMsg = ServiceResult.Message(-1, ex.Message);
            }
            //写入log
            SysLogLoginModel log = new SysLogLoginModel();

            log.LOGIN_ID      = GuidHelper.GenerateComb().ToString();
            log.USER_CODE     = user_id;
            log.USER_PWD      = MD5Cryption.MD5(pwd);
            log.USER_PWD_LAWS = pwd;
            log.LOGIN_IP      = NetHelper.GetUserIp;
            log.LOGIN_RESULT  = jsonMsg.type == 1 ? "SUCCESS" : "FAIL";
            log.LOGIN_MSG     = jsonMsg.message;
            _loglRep.Insert(log);

            return(jsonMsg);
        }