Example #1
0
        /// <summary>
        /// 获取数据库连接字符串
        /// </summary>
        /// <param name="dbserver"></param>
        /// <returns></returns>
        public string GetConnectStr(DbServerOutput dbserver)
        {
            string aesPwd = dbserver.Password;

            try
            {
                var p = EncryptHelper.AesDecrpt(dbserver.Password);
                aesPwd = p;
            }
            catch
            {
            }

            switch (dbserver.DbTypeName.ToUpper())
            {
            case "DB2":
                return(string.Format("Server={0}:{1};Database={2};UID={3};PWD={4};Connection Timeout =3600", dbserver.Ip, dbserver.Port, dbserver.DataCase, dbserver.User, aesPwd));

            case "ORACLE":
                return(string.Format("Data Source={0}:{1}/{2};User Id={3};Password={4};Connection Timeout =3600", dbserver.Ip, dbserver.Port, dbserver.DataCase, dbserver.User, aesPwd));

            case "MYSQL":
                //return string.Format("Data Source={0}:{1}/{2};User Id={3};Password={4};Connection Timeout =3600", dbserver.Ip, dbserver.Port, dbserver.DataCase, dbserver.User, dbserver.Password);
                break;

            case "SQLSERVER":
                //return string.Format("Data Source={0}:{1}/{2};User Id={3};Password={4};Connection Timeout =3600", dbserver.Ip, dbserver.Port, dbserver.DataCase, dbserver.User, dbserver.Password);
                break;

            default:    //默认oracle
                return(string.Format("Data Source={0}:{1}/{2};User Id={3};Password={4};Connection Timeout =3600", dbserver.Ip, dbserver.Port, dbserver.DataCase, dbserver.User, aesPwd));
            }
            return("");
        }
Example #2
0
        protected void SearchBtn_Click(object sender, EventArgs e)
        {
            string    code        = this.code.Value;
            string    queryParams = this.queryParams.Value;
            string    xmlStr      = EncryptHelper.AesDecrpt(this.xmlStr.Value);
            string    rpName      = this.rpName.Value;
            DataTable dt          = new DataTable();

            EasyMan.Dtos.ErrorInfo err = new EasyMan.Dtos.ErrorInfo();
            //从ioc容器中获取当前需要的接口实例
            var _reportApp = Abp.Dependency.IocManager.Instance.Resolve <IReportAppService>();

            #region 避免调用接口方法嵌套了多个复杂类型的方法
            //string sql = _reportApp.GetSqlByCode(code, queryParams);
            //var _dbServerApp = Abp.Dependency.IocManager.Instance.Resolve<IDbServerAppService>();
            //dt= _dbServerApp.ExecuteGetTable(1, sql);
            #endregion

            //GetDataTableFromCode方法中调用_dbServerApp.ExecuteGetTable(dbserver.Id, sql),不能传复杂类型dbserver
            dt = _reportApp.GetDataTableFromCode(code, queryParams, ref err);

            reportViewer1.LocalReport.DataSources.Clear();//清理原rdlc数据
            reportViewer1.LocalReport.DisplayName = rpName;
            reportViewer1.LocalReport.LoadReportDefinition(GenerateRdlc(xmlStr));
            ReportDataSource reportDataSource = new ReportDataSource("DataSet1", dt);
            reportViewer1.LocalReport.DataSources.Add(reportDataSource);//赋值新数据
            reportViewer1.LocalReport.Refresh();
        }
Example #3
0
        public async Task <JsonResult> AppLogin(ApiLoginBean loginBean)
        {
            CheckModelState();

            // 对密码进行AES解密
            loginBean.username = EncryptHelper.AesDecrpt(loginBean.username);
            loginBean.password = EncryptHelper.AesDecrpt(loginBean.password);

            var loginModel = new LoginViewModel
            {
                UsernameOrEmailAddress = loginBean.username,
                Password    = loginBean.password,
                TenancyName = loginBean.tenancyname
            };

            var loginResult = await GetLoginResultAsync(
                loginModel.UsernameOrEmailAddress,
                loginModel.Password,
                loginModel.TenancyName
                );

            ValidateCycleAndComplex(loginModel, loginResult);//密码复杂度和周期校验

            await SignInAsync(loginResult.User, loginResult.Identity, loginModel.RememberMe);

            var userBean = new ApiUserBean
            {
                id   = loginResult.User.Id,
                name = loginResult.User.UserName,
            };

            //return Json(userBean);
            return(Json(EncryptHelper.AesEncrypt(JsonConvert.SerializeObject(userBean))));
        }
Example #4
0
        /// <summary>
        /// 删除文件
        /// </summary>
        /// <param name="requestObject"></param>
        /// <returns></returns>
        public string FileDel(ApiEncryptedRequestBean requestObject)
        {
            var decrptStr = EncryptHelper.AesDecrpt(requestObject.reqData);
            var request   = JsonConvert.DeserializeObject <ApiRequestEntityBean>(decrptStr);

            var result = _fileAppService.FileDel(request);

            return(EncryptHelper.AesEncrypt(JsonConvert.SerializeObject(result)));
        }
Example #5
0
        /// <summary>
        /// 检查版本更新
        /// </summary>
        /// <param name="requestObject"></param>
        /// <returns></returns>
        public string CheckUpdate(ApiEncryptedRequestBean requestObject)
        {
            var decrptStr = EncryptHelper.AesDecrpt(requestObject.reqData);
            var request   = JsonConvert.DeserializeObject <ApiRequestEntityBean>(decrptStr);

            var result = _appCommonAppService.CheckUpdate(request);

            return(EncryptHelper.AesEncrypt(JsonConvert.SerializeObject(result)));
        }
Example #6
0
        /// <summary>
        /// 登录时获取用户信息
        /// </summary>
        /// <param name="requestObject"></param>
        /// <returns></returns>
        public string GetUserLoginInfo(ApiEncryptedRequestBean requestObject)
        {
            var decrptStr = EncryptHelper.AesDecrpt(requestObject.reqData);
            var request   = JsonConvert.DeserializeObject <ApiRequestEntityBean>(decrptStr);

            var result = _userInfoAppService.GetUserLoginInfo(request);

            return(EncryptHelper.AesEncrypt(JsonConvert.SerializeObject(result)));
        }
Example #7
0
        /// <summary>
        /// 点赞内容评论
        /// </summary>
        /// <param name="requestObject"></param>
        /// <returns></returns>
        public string LikeContentReview(ApiEncryptedRequestBean requestObject)
        {
            var decrptStr = EncryptHelper.AesDecrpt(requestObject.reqData);
            var request   = JsonConvert.DeserializeObject <ApiRequestEntityBean>(decrptStr);

            var result = _contentAppService.LikeContentReview(request);

            return(EncryptHelper.AesEncrypt(JsonConvert.SerializeObject(result)));
        }
Example #8
0
        /// <summary>
        /// 分页获取评论的回复
        /// </summary>
        /// <param name="requestObject"></param>
        /// <returns></returns>
        public string ContentReviewCommentList(ApiEncryptedRequestBean requestObject)
        {
            var decrptStr = EncryptHelper.AesDecrpt(requestObject.reqData);
            var request   = JsonConvert.DeserializeObject <ApiRequestPageBean>(decrptStr);

            var result = _contentAppService.GetPageReviewComment(request);

            return(EncryptHelper.AesEncrypt(JsonConvert.SerializeObject(result)));
        }
Example #9
0
        /// <summary>
        /// 修改用户密码
        /// </summary>
        /// <param name="requestObject"></param>
        /// <returns></returns>
        public string UserEditPwd(ApiEncryptedRequestBean requestObject)
        {
            var decrptStr = EncryptHelper.AesDecrpt(requestObject.reqData);
            var request   = JsonConvert.DeserializeObject <ApiRequestSaveEntityBean <ApiKeyValueBean> >(decrptStr);

            var result = _userInfoAppService.UserEditPwd(request);

            return(EncryptHelper.AesEncrypt(JsonConvert.SerializeObject(result)));
        }
Example #10
0
        //public string[] AllowSites { get; set; }
        public override void OnActionExecuting(ActionExecutingContext context)
        {
            var    origin         = context.HttpContext.Request.Headers["Origin"].ToString();
            string requestHeaders = context.HttpContext.Request.Headers["Access-Control-Request-Headers"];
            Action action         = () =>
            {
                context.HttpContext.Response.Headers.Add("Access-Control-Allow-Origin", origin);
                context.HttpContext.Response.Headers.Add("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS");
                context.HttpContext.Response.Headers.Add("Access-Control-Request-Headers", "Content-Type");
                context.HttpContext.Response.Headers.Add("Access-Control-Allow-Credentials", "true");
            };

            action();
            if (context.HttpContext.Request.Path.Value.ToLower() == "/api/data/getnowdate")
            {
                base.OnActionExecuting(context);
            }
            else
            {
                try
                {
                    var    t          = context.HttpContext.Request.Form["TimeStamp"];
                    var    dt         = EncryptHelper.AesDecrpt(t);
                    var    clientTime = DateTimeHelper.StampToDateTime(dt);
                    var    now        = DateTime.Now;
                    var    sec        = now.Subtract(clientTime).TotalSeconds;
                    double interval   = 90;
                    if (interval < Math.Abs(sec))
                    {
                        var result = new LotteryServiceResponse()
                        {
                            Code    = ResponseCode.TimeStampError,
                            Message = "请求发生异常"
                        };
                        context.Result = new JsonResult(result);
                    }
                    else
                    {
                        base.OnActionExecuting(context);
                    }
                }
                catch (Exception ex)
                {
                    var result = new LotteryServiceResponse()
                    {
                        Code    = ResponseCode.TimeStampError,
                        Message = "请求发生异常"
                    };
                    context.Result = new JsonResult(result);
                }
            }
        }
Example #11
0
        public JsonResult SaveModifiedPwd(ModifyPwdViewModel modifyModel)
        {
            var errorInfo = new ApiErrorBean();

            // 确认密码不匹配
            if (!modifyModel.NewPassword.Trim().Equals(modifyModel.ConfirmPassword.Trim()))
            {
                errorInfo.isError = true;
                errorInfo.code    = 1;
                errorInfo.message = "两次新密码输入不一致,请重新输入!";

                return(Json(errorInfo));
            }

            var keyValue = new ApiKeyValueBean
            {
                key   = modifyModel.OldPassword,
                value = modifyModel.NewPassword
            };

            var savePara = new ApiRequestSaveEntityBean <ApiKeyValueBean>
            {
                userId = modifyModel.UserId,
                entity = keyValue
            };

            // 保存修改密码
            errorInfo = _userInfoAppService.UserEditPwd(savePara);

            if (!errorInfo.isError)//写入密码修改记录
            {
                _userPwdAppService.InsertUserPwdLog(new Dto.UserPwdLogDto
                {
                    NewPwd = EncryptHelper.AesDecrpt(modifyModel.NewPassword),
                    OldPwd = EncryptHelper.AesDecrpt(modifyModel.OldPassword),
                    UserId = modifyModel.UserId
                });
            }

            return(Json(errorInfo));
        }
Example #12
0
        public async Task <JsonResult> Login(LoginViewModel loginModel, string returnUrl = "", string returnUrlHash = "")
        {
            EasyMan.Dtos.ErrorInfo err = new EasyMan.Dtos.ErrorInfo();
            err.IsError = false;
            try
            {
                CheckModelState();
                // 对密码进行AES解密
                loginModel.Password = EncryptHelper.AesDecrpt(loginModel.Password);

                #region 取消验证码
                //var verifyCode = loginModel.VerifyCode;
                //var isMatch = ToolHelper.MatchVerifyCode(verifyCode);

                //if (!isMatch)
                //{
                //    //throw new UserFriendlyException("登录失败", "验证码错误");
                //    throw new Exception("登录失败:验证码错误!");
                //}
                #endregion

                var loginResult = await GetLoginResultAsync(
                    loginModel.UsernameOrEmailAddress,
                    loginModel.Password,
                    loginModel.TenancyName
                    );

                ValidateCycleAndComplex(loginModel, loginResult);//密码复杂度和周期校验

                await SignInAsync(loginResult.User, loginResult.Identity, loginModel.RememberMe);

                #region // 原-生成页面水印
                //var systemName = ConfigurationManager.AppSettings["SysName"];
                //var waterMark = ToolHelper.CreateWatermark(systemName, loginResult.User.UserName);

                //var filePath = AppDomain.CurrentDomain.BaseDirectory + "/UpFiles/Bg/";

                //if (!Directory.Exists(filePath))
                //{
                //    Directory.CreateDirectory(filePath);
                //}

                //var fileFullName = filePath + loginResult.User.Id + ".jpg";
                //System.IO.File.WriteAllBytes(fileFullName, waterMark);
                #endregion

                if (string.IsNullOrWhiteSpace(returnUrl) || returnUrl == @"/")
                {
                    //returnUrl = Request.ApplicationPath;
                    returnUrl = Url.Content("~/Home/Index");
                }

                if (!string.IsNullOrWhiteSpace(returnUrlHash))
                {
                    returnUrl = returnUrl + returnUrlHash;
                }
                err.IsError = false;
                err.Message = returnUrl;
                return(Json(err));
                //return Json(new AjaxResponse { TargetUrl = returnUrl });
            }
            catch (Exception e)
            {
                err.IsError = true;
                err.Message = e.Message;
                err.Excep   = e;
                return(Json(err));
            }
        }
Example #13
0
        /// <summary>
        /// 修改密码
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public ApiErrorBean UserEditPwd(ApiRequestSaveEntityBean <ApiKeyValueBean> request)
        {
            var errorInfo = new ApiErrorBean();
            var userId    = request.userId;
            var oldPwd    = EncryptHelper.AesDecrpt(request.entity.key);
            var newPwd    = EncryptHelper.AesDecrpt(request.entity.value);

            try
            {
                DataTable dt = DbHelper.ExecuteGetTable("select id,PASSWORD from ABP_USERS where id='" + userId + "'");
                if (dt != null && dt.Rows.Count > 0)
                {
                    object uid = dt.Rows[0]["ID"];
                    if (uid != null && Convert.ToInt32(uid) > 0)
                    {
                        #region 验证旧密码
                        var hashHandler    = new PasswordHasher();
                        var verifiedResult = hashHandler.VerifyHashedPassword(dt.Rows[0]["PASSWORD"].ToString(), oldPwd);
                        //旧密码不匹配
                        if (!verifiedResult.Equals(PasswordVerificationResult.Success))
                        {
                            errorInfo.isError = true;
                            errorInfo.code    = 3;
                            errorInfo.message = "旧密码错误";

                            return(errorInfo);
                        }
                        #endregion

                        #region 密码复杂度
                        string resComplex = ValidateComplex(newPwd);
                        if (!string.IsNullOrEmpty(resComplex) && resComplex.Length > 0)
                        {
                            errorInfo.isError = true;
                            errorInfo.code    = 3;
                            errorInfo.message = "密码复杂度不够:\r\n" + resComplex;
                            return(errorInfo);
                        }
                        #endregion

                        Common.DbHelper.Execute("update ABP_USERS set PASSWORD='******' where ID=" + uid);
                    }
                }
                else
                {
                    errorInfo.isError = true;
                    errorInfo.code    = 2;
                    errorInfo.message = "当前用户不存在";
                    return(errorInfo);
                }
            }
            catch (Exception ex)
            {
                errorInfo.isError = true;
                errorInfo.code    = 2;
                errorInfo.message = "异常错误:" + ex.Message;
                return(errorInfo);
            }

            errorInfo.isError = false;
            errorInfo.code    = 0;
            errorInfo.message = "修改成功";
            return(errorInfo);
        }