Exemple #1
0
        public JsonResult ContrlModule(EditModules models)
        {
            BaseJsonData json = new BaseJsonData();

            if (!User.Identity.IsAuthenticated)
            {
                json.msg_text = "没有登陆或登陆失效,请重新登陆后操作。";
                json.msg_code = "notLogin";
                goto next;
            }
            int user = PageValidate.FilterParam(User.Identity.Name);

            if (!RoleCheck.CheckHasAuthority(user, db, "系统管理"))
            {
                json.msg_text = "没有权限。";
                json.msg_code = "NoPower";
                goto next;
            }
            if (ModelState.IsValid)
            {
                string ctrl_name;
                foreach (ModuleInfo info in models.modules)
                {
                    ctrl_name = info.name;
                    var no1 = db.Role_vs_Controller.Where(x => x.rvc_role_id != 1 && x.rvc_controller == ctrl_name);
                    if (no1.Count() > 0)
                    {
                        db.Role_vs_Controller.RemoveRange(no1);
                        db.SaveChanges();
                    }
                    if (info.roles != null && info.roles.Length > 0)
                    {
                        foreach (RoleInfo rinfo in info.roles)
                        {
                            Role_vs_Controller rvc = new Role_vs_Controller();
                            rvc.rvc_role_id    = rinfo.id;
                            rvc.rvc_controller = ctrl_name;
                            if (db.Role_vs_Controller.Find(rvc.rvc_role_id, rvc.rvc_controller) == null)
                            {
                                db.Role_vs_Controller.Add(rvc);
                            }
                        }
                    }
                }
                db.SaveChanges();
                SysLog.WriteLog(user, "修改系统模块", IpHelper.GetIP(), "", 5, "", db);
                json.state    = 1;
                json.msg_code = "success";
                json.msg_text = "数据更新成功。";
                DBCaches2.ClearCache("dic-module");
            }
            else
            {
                json.msg_code = "error";
                json.msg_text = "数据接收错误。";
            }
next:
            return(Json(json, JsonRequestBehavior.AllowGet));
        }
        public ActionResult ControllerRoles(ControllerRolesModel Model)
        {
            List <SelectOption> options = DropDownList.GetAllControllers();

            ViewData["controllers"] = DropDownList.SetDropDownList(options);
            options           = DropDownList.SysRolesSelect();
            ViewData["roles"] = DropDownList.SetDropDownList(options);
            if (!User.Identity.IsAuthenticated)
            {
                ViewBag.msg = "系统管理员权限不允许修改。";
                return(View(Model));
            }
            if (Model.roleId == 1)
            {
                return(RedirectToRoute(new { controller = "Error", action = "Index", err = "没有权限!" }));
            }
            var cs = db.Role_vs_Controllers.Where(x => x.rvc_role_id == Model.roleId);

            db.Role_vs_Controllers.RemoveRange(cs);
            string[] list = Model.hascontrollers.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
            foreach (string citem in list)
            {
                if (string.IsNullOrEmpty(citem))
                {
                    continue;
                }
                Role_vs_Controller rcmodel = new Role_vs_Controller();
                rcmodel.rvc_role_id    = Model.roleId;
                rcmodel.rvc_controller = PageValidate.InputText(citem, 200);
                db.Role_vs_Controllers.Add(rcmodel);
            }
            try
            {
                db.SaveChanges();
                ViewBag.msg = "添加成功。";
            }catch (Exception e)
            {
                ViewBag.msg = "添加出错,请重新操作或联系管理员。";
            }

            return(View(Model));
        }