Esempio n. 1
0
        // GET: SystemMenu/Edit/5
        public ActionResult Edit()
        {
            var useCode = Convert.ToInt32(Request.Query["code"]);

            if (useCode == 0)
            {
                return(Redirect("/home/error"));
            }
            var data = SystemMenuHelper.GetModel(useCode);

            return(View(data));
        }
Esempio n. 2
0
        public ActionResult Edit([FromForm] SaveMenuModel model)
        {
            // TODO: Add update logic here
            var MenuModel = SystemMenuHelper.GetModel(model.Code);

            //查询是否存在该菜单
            if (SystemMenuHelper.Exists(p => p.Id != model.Code && p.Name == model.ControllName && p.ActionRoute == model.ControllUrl))
            {
                return(Json(new { status = 0, msg = "该菜单已经存在,请修改!" }));
            }
            MenuModel.Remark      = model.Remark;
            MenuModel.IsUse       = Convert.ToBoolean(model.Status);
            MenuModel.Name        = model.ControllName;
            MenuModel.Type        = model.ControllType;
            MenuModel.ActionRoute = model.ControllUrl.ToLower();
            MenuModel.Icon        = model.Icon;
            MenuModel.Sort        = model.Sort;
            MenuModel.ParentId    = Convert.ToInt32(model.ParentCode);
            SystemMenuHelper.Update(MenuModel);
            return(Json(ResponseHelper.Success("ok")));
        }
        public override void OnActionExecuting(ActionExecutingContext context)
        {
            //获取访问url地址
            var action = context.HttpContext.Request.Path.ToString().ToLower();

            if (action == "/")
            {
                action = "/home/index";
            }
            if (action.Equals("/home/errormsg") || action.Equals("/home/error"))
            {
                base.OnActionExecuting(context);
                return;
            }
            var actionModel   = SystemMenuHelper.GetModel(p => p.ActionRoute == action);
            var requestMethod = context.HttpContext.Request.Method.Trim().ToLower();
            var user          = context.HttpContext.Session.GetString("UserInfo");

            if (string.IsNullOrEmpty(user))
            {
                if (requestMethod == "get")
                {
                    if (string.IsNullOrEmpty(context.HttpContext.Request.Query["modal"]))
                    {
                        context.Result = new RedirectResult("/Login/Index");
                    }
                    else
                    {
                        context.Result = new RedirectResult("/home/errormsg?msg=" + WebUtility.UrlEncode("登录已失效,请重新登录!"));
                    }
                }
                if (requestMethod == "post")
                {
                    context.Result = new JsonResult(Util.ResponseHelper.Error("登录已失效,请重新登录"));
                }
                return;
            }
            if (actionModel == null)
            {
                if (requestMethod == "get")
                {
                    context.Result = new RedirectResult("/home/errormsg?msg=" + WebUtility.UrlEncode("菜单还未添加,请联系管理员添加"));
                }
                if (requestMethod == "post")
                {
                    context.Result = new JsonResult(Util.ResponseHelper.Error("菜单还未添加,请联系管理员添加"));
                }
                return;
            }
            if (_cache_user == null)
            {
                _cache_user = JsonConvert.DeserializeObject <SessionUser>(user);
            }
            //校验权限
            if (!_cache_user.AuthMenu.Contains(actionModel.Id))
            {
                if (requestMethod == "get")
                {
                    if (string.IsNullOrEmpty(context.HttpContext.Request.Query["modal"]))
                    {
                        context.Result = new RedirectResult("/home/error?errorcode=401");
                    }
                    else
                    {
                        context.Result = new RedirectResult("/home/errormsg?msg=" + WebUtility.UrlEncode("没有权限访问此功能!"));
                    }
                }
                if (requestMethod == "post")
                {
                    context.Result = new RedirectResult("/home/errormsg?msg=" + WebUtility.UrlEncode("您没有权限访问此页面!"));
                }
            }
            base.OnActionExecuting(context);
        }