예제 #1
0
        public int AddApp(XXF.Db.DbConn PubConn, Models.DbModels.app model)
        {
            if (string.IsNullOrEmpty(model.appid))
            {
                model.appid = XXF.Db.LibString.MakeRandomNumber(16).ToLower();
            }
            if (ExitAppid(PubConn, model.appid))
            {
                return(-2);
            }
            if (string.IsNullOrEmpty(model.appsecret))
            {
                model.appsecret = Guid.NewGuid().ToString().Replace("-", "");
            }

            string sql = "insert into app(appid,appname,apptype,appgradeno,appsecret,appdesc,freeze) values(@appid,@appname,@apptype,@appgradeno,@appsecret,@appdesc,@freeze)";

            XXF.Db.SimpleProcedureParameter para = new XXF.Db.SimpleProcedureParameter();
            para.Add("@appid", model.appid);
            para.Add("@appsecret", model.appsecret);
            para.Add("@appname", model.appname);
            para.Add("@apptype", model.apptype);
            para.Add("@appgradeno", model.appgradeno);
            para.Add("@freeze", model.freeze);
            para.Add("@appdesc", model.appdesc ?? "");

            int r = PubConn.ExecuteSql(sql, para.ToParameters());

            return(r);
        }
예제 #2
0
        public int UpdateApp(XXF.Db.DbConn PubConn, Models.DbModels.app model)
        {
            string sql = "update app   set appname=@appname,appsecret=@appsecret,appdesc=@appdesc ,freeze=@freeze ,apptype = @apptype,appgradeno =@appgradeno where appid=@appid";

            XXF.Db.SimpleProcedureParameter para = new XXF.Db.SimpleProcedureParameter();
            para.Add("@appid", model.appid);
            para.Add("@appsecret", model.appsecret);
            para.Add("@appname", model.appname);
            para.Add("@apptype", model.apptype);
            para.Add("@appgradeno", model.appgradeno);
            para.Add("@freeze", model.freeze);
            para.Add("@appdesc", model.appdesc ?? "");

            int r = PubConn.ExecuteSql(sql, para.ToParameters());

            return(r);
        }
예제 #3
0
 public ActionResult Edit(string id)
 {
     using (XXF.Db.DbConn PubConn = XXF.Db.DbConfig.CreateConn())
     {
         PubConn.Open();
         if (string.IsNullOrEmpty(id))
         {
             ViewBag.appgrades = Models.AppGradeDal.Instance.GetGrades(PubConn, 0);
             return(View());
         }
         else
         {
             ViewBag.act = "edit";
             Models.DbModels.app model = Models.AppDal.Instance.GetAppInfo(PubConn, id);
             ViewBag.appgrades = Models.AppGradeDal.Instance.GetGrades(PubConn, model.apptype);
             return(View(model));
         }
     }
 }
예제 #4
0
        public static JsonResult Visit(Func <XXF.Db.DbConn, object> action, Controller controller)
        {
            //msgs.Add(-100, "认证失败");
            //msgs.Add(-905, "token不存在或已过期");
            //msgs.Add(-102, "请求超时");
            //msgs.Add(-103, "	sign不正确");
            //msgs.Add(-104, "无权操作该接口");
            //msgs.Add(-105, "接口已被冻结");
            //msgs.Add(-106, "应用被冻结");

            //msgs.Add(-111, "参数不完整");
            //msgs.Add(-112, "用户不存在");
            //msgs.Add(-113, "pwd不正确");
            //msgs.Add(-114, "用户被冻结");

            CertComm.ServerResult       sr   = new CertComm.ServerResult();
            Dictionary <string, string> para = GetRequestPara(controller);

            if (para.ContainsKey("appid") && string.IsNullOrEmpty(para["appid"]))
            {
                sr.code = -111;
                sr.msg  = "appid不能为空";
            }
            else if (para.ContainsKey("timespan") && string.IsNullOrEmpty(para["timespan"]))
            {
                sr.code = -111;
                sr.msg  = "timespan不能为空";
            }
            else if (para.ContainsKey("sign") && string.IsNullOrEmpty(para["sign"]))
            {
                sr.code = -111;
                sr.msg  = "sign不能为空";
            }
            else if (para.ContainsKey("userid") && string.IsNullOrEmpty(para["userid"]))
            {
                sr.code = -111;
                sr.msg  = "userid不能为空";
            }
            else if (para.ContainsKey("pwd") && string.IsNullOrEmpty(para["pwd"]))
            {
                sr.code = -111;
                sr.msg  = "pwd不能为空";
            }
            else
            {
                if (!CertComm.Authcomm.TestTimeSpanOk(para["timespan"], 10 * 60))
                {
                    sr.code = -102;
                    sr.msg  = AUTH_CODE_MSG.Get(sr.code);
                }
                else
                {
                    using (XXF.Db.DbConn PubConn = XXF.Db.DbConfig.CreateConn())
                    {
                        PubConn.Open();
                        Models.DbModels.app appitem = Models.AppDal.Instance.GetAppInfo(PubConn, para["appid"]);
                        if (appitem == null)
                        {
                            sr.code = -103;
                            sr.msg  = AUTH_CODE_MSG.Get(sr.code);
                        }
                        else if (appitem.freeze == 1)
                        {
                            sr.code = -107;
                            sr.msg  = AUTH_CODE_MSG.Get(sr.code);
                        }
                        else
                        {
                            string nowsign = CertComm.Authcomm.ToSign(para, appitem.appsecret);
                            if (nowsign.ToLower() != para["sign"].ToLower())
                            {
                                sr.code = -104;
                                sr.msg  = AUTH_CODE_MSG.Get(sr.code);
                            }
                            else//用户相关验证
                            {
                                Models.DbModels.manage manager = Models.AccountDal.Instance.getManage(PubConn, para["userid"]);
                                if (manager == null)
                                {
                                    sr.code = -112;
                                    sr.msg  = AUTH_CODE_MSG.Get(sr.code);
                                }
                                else if (manager.freeze == 1)
                                {
                                    sr.code = -114;
                                    sr.msg  = AUTH_CODE_MSG.Get(sr.code);
                                }
                                else if (CertComm.Authcomm.ToMD5String(manager.pwd) != para["pwd"])
                                {
                                    sr.code = -113;
                                    sr.msg  = AUTH_CODE_MSG.Get(sr.code);
                                }
                            }
                        }
                    }
                }
            }
            if (sr.code < -100)
            {
                return(new JsonResult()
                {
                    Data = sr
                });
            }
            return(null);
        }
예제 #5
0
        public ActionResult Edit(Models.DbModels.app model, string act)
        {
            using (XXF.Db.DbConn PubConn = XXF.Db.DbConfig.CreateConn())
            {
                PubConn.Open();
                ViewBag.appgrades = Models.AppGradeDal.Instance.GetGrades(PubConn, model.apptype);
                ViewBag.act       = act;
                if (string.IsNullOrEmpty(model.appname))
                {
                    ModelState.AddModelError("appname", "应用名不能为空。");
                    return(View(model));
                }
                if (model.appgradeno <= 0)
                {
                    ModelState.AddModelError("appgradeno", "请选择应用级别。");
                    return(View(model));
                }

                try
                {
                    if (string.IsNullOrEmpty(model.appid))
                    {
                        model.appid = XXF.Db.LibString.MakeRandomNumber(16);
                    }
                    if (string.IsNullOrEmpty(model.appsecret))
                    {
                        model.appsecret = Guid.NewGuid().ToString().Replace("-", "");
                    }
                    if (act == "edit")
                    {
                        int r = Models.AppDal.Instance.UpdateApp(PubConn, model);
                        if (r > 0)
                        {
                            return(RedirectToAction("index"));
                        }
                        else
                        {
                            ViewBag.act = "edit";
                            return(View(model));
                        }
                    }
                    else
                    {
                        int r = Models.AppDal.Instance.AddApp(PubConn, model);
                        if (r > 0)
                        {
                            return(RedirectToAction("index"));
                        }
                        else
                        {
                            if (r == -1)
                            {
                                ModelState.AddModelError("appid", "appid已存在,请更换");
                            }
                            return(View(model));
                        }
                    }
                }
                catch (Exception ex)
                {
                    ModelState.AddModelError("", ex.Message);
                    return(View(model));
                }
                finally
                {
                    Models.DbModels.certcenterlog log = new Models.DbModels.certcenterlog(this);
                    log.opecontent = "修改应用";
                    Models.CertCenterLogDal.Instance.Add(PubConn, log);
                }
            }
        }