コード例 #1
0
ファイル: HomeController.cs プロジェクト: windygu/zcgl
        /// <summary>
        /// 获取导航菜单
        /// </summary>
        /// <param name="id">所属</param>
        /// <returns>树</returns>
        public JsonResult GetTree(string id)
        {
            string appid  = id;
            var    _resid = 0;

            if (!string.IsNullOrEmpty(id))
            {
                int.TryParse(id, out _resid);
            }
            var _appid = 0;

            if (!string.IsNullOrEmpty(appid))
            {
                int.TryParse(appid, out _appid);
            }

            if (Session["Account"] != null)
            {
                //AccountModel account = (AccountModel)Session["Account"];
                TJsonList <EAP_Resource> menus = null;
                if (Session["myMenu"] != null)
                {
                    menus = (Session["myMenu"]) as TJsonList <EAP_Resource>;
                }
                else
                {
                    SourceOP _SourceOP = new SourceOP(LoginUser);
                    menus             = _SourceOP.GetMyMenu(_appid, 0);
                    Session["myMenu"] = menus;
                }

                //下级
                // List<SysModule> _menus = homeBLL.GetMenuByPersonId(account.Id, id);
                var jsonData = (
                    from m in menus where m.ParentId == _resid
                    select new
                {
                    id = m.ID.ToString(),
                    text = m.Name,
                    value = m.PageId,
                    showcheck = false,
                    complete = false,
                    isexpand = false,
                    checkstate = 0,
                    hasChildren = menus.Exists((x) => { return(x.ParentId == m.ID); }),    //需要处理是否有下级的问题;
                    Icon = m.Image
                }
                    ).ToArray();
                return(Json(jsonData, JsonRequestBehavior.AllowGet));
            }
            else
            {
                return(Json("0", JsonRequestBehavior.AllowGet));
            }
        }
コード例 #2
0
ファイル: SourceOP.cs プロジェクト: windygu/zcgl
        /// <summary>
        /// 获取控制的按钮权限
        /// </summary>
        /// <param name="Controller"></param>
        /// <returns></returns>
        public TJsonList <EAP_Resource> GetMenuOperate(string Controller)
        {
            //string sql = string.Format(" exec [usp_GetResourceByUser] {0},{1}  ", 0, Account.User.UserID);
            //lxt 20101102 改为传参数的方式 AppID int,UserID
            // object o = 0;
            var parameters = new[] {
                new SqlParameter("@UserID", Account.User.UserID),
                new SqlParameter("@Pageid", Controller),
            };

            //var listResult = DataProvider.LoadData<T>("usp_GetResourceByUser",  parameters);
            var resource = new TJsonList <EAP_Resource>(DataProvider.LoadData <EAP_Resource>("usp_GetOpResourceByUser2", parameters));

            return(resource);
        }
コード例 #3
0
ファイル: SourceOP.cs プロジェクト: windygu/zcgl
        public TJsonList <EAP_Resource> GetAllResource(int parent_id, int IsUser, int loginUserID)
        {
            //string sql = string.Format(" exec usp_GetAllResource  {0}", parent_id);
            //var resource = new TJsonList<EAP_Resource>(DataProvider.LoadData<EAP_Resource>(sql));
            var parameters = new[] {
                new SqlParameter("@AppID", parent_id),
                new SqlParameter("@isuser", IsUser),
                new SqlParameter("@LoginUserID", loginUserID),
            };

            //var listResult = DataProvider.LoadData<T>("usp_GetResourceByUser",  parameters);
            var resource = new TJsonList <EAP_Resource>(DataProvider.LoadData <EAP_Resource>("usp_GetAllResource", parameters));

            return(resource);
        }
コード例 #4
0
ファイル: SourceOP.cs プロジェクト: windygu/zcgl
        public TJsonList <EAP_Resource> GetMyMenu(int appid = 0, int PResID = 0)
        {
            //string sql = string.Format(" exec [usp_GetResourceByUser] {0},{1}  ", 0, Account.User.UserID);
            //lxt 20101102 改为传参数的方式 AppID int,UserID
            // object o = 0;
            var parameters = new[] {
                new SqlParameter("@AppID", appid),
                new SqlParameter("@UserID", Account.User.UserID),
                new SqlParameter("@ResID", PResID),
            };

            //var listResult = DataProvider.LoadData<T>("usp_GetResourceByUser",  parameters);
            var resource = new TJsonList <EAP_Resource>(DataProvider.LoadData <EAP_Resource>("usp_GetResourceByUser2", parameters));

            return(resource);
        }
コード例 #5
0
        public TJsonList <DiagnoseResult> Diagnose(ServiceContext context)
        {
            TJsonList <DiagnoseResult> result = new TJsonList <DiagnoseResult>();

            foreach (DiagnosticProvider item in DiagnosticProviderConfigSection.GetServiceProvider())
            {
                item.ServiceContext = context;
                item.Diagnose();
                result.AddRange(item.Reuslt);
            }
            int index = 0;

            foreach (var item in result)
            {
                item.ID = ++index;
            }
            return(result);
        }
コード例 #6
0
 public void Diagnose()
 {
     Reuslt = new TJsonList <DiagnoseResult>();
     DoDiagnose();
 }
コード例 #7
0
        public bool ValiddatePermission(AccountModel account, string controller, string action, string filePath)
        {
            bool   bResult    = false;
            string actionName = string.IsNullOrEmpty(ActionName) ? action : ActionName;

            if (account != null)
            {
                List <permModel> permlist = null;
                //测试当前controller是否已赋权限值,如果没有从
                //如果存在区域,Seesion保存(区域+控制器)
                if (!string.IsNullOrEmpty(Area))
                {
                    controller = Area + "/" + controller;
                }
                if (HttpContext.Current.Session[filePath] == null)
                {
                    //获取当前用户的操作权限列表

                    SourceOP _SourceOP             = new SourceOP(getLoginUser(account));
                    TJsonList <EAP_Resource> menus = _SourceOP.GetMenuOperate(controller);
                    permlist = new List <permModel>();
                    foreach (EAP_Resource m in menus)
                    {
                        if (m.Type == "op")
                        {
                            permModel p = new  permModel()
                            {
                                KeyCode = m.PageId, IsValid = m.Flag_Delete
                            };
                            permlist.Add(p);
                        }
                    }
                    HttpContext.Current.Session[filePath] = permlist; //获取的权限放入会话由Controller调用
                }
                else
                {
                    permlist = (List <permModel>)HttpContext.Current.Session[filePath];
                }



                //当用户访问index时,只要权限>0就可以访问
                if (actionName.ToLower() == "index")
                {
                    if (permlist.Count > 0)
                    {
                        return(true);
                    }
                }
                //查询当前Action 是否有操作权限,大于0表示有,否则没有
                int count = permlist.Where(a => a.KeyCode.ToLower() == actionName.ToLower()).Count();
                if (count > 0)
                {
                    bResult = true;
                }
                else
                {
                    bResult = false;
                    LoginUserManage.WritePage("你没有操作权限,请联系管理员!", "");
                }
            }
            return(bResult);
        }