Beispiel #1
0
        //加载该角色的权限树
        public ActionResult LoadRightForThisRole(int id)
        {
            var model = roleInfoMan.GetEntity(id);

            if (model == null)
            {
                return(Json(new { code = "500", msg = "该角色不存在" }));
            }

            var list =
                model.SysRoleRights.Select(
                    c => c.RightId
                    ).ToList();

            var           l  = new SysRightInfoMan().GetEntityList(c => c.DataState != DataStateEnum.除 && c.IsPublic == false);
            StringBuilder sb = new StringBuilder();

            sb.Append("[");
            foreach (var r in l)
            {
                sb.Append(string.Format("{{ \"Id\": \"{0}\",\"checked\":\"{1}\",\"name\": \"{2}\",\"ParentId\": \"{3}\"}},", r.Id, list.Contains(r.Id), r.RightName, r.ParentId));
            }

            var tree = sb.ToString();

            tree             = tree.Substring(0, tree.Length - 1);
            tree            += "]";
            ViewBag.TreeData = tree;

            ViewBag.Id = id;
            return(View());
        }
Beispiel #2
0
        public ActionResult MenuList(int mid = 0)
        {
            var model = new SysRightInfoMan().GetEntity(mid);

            if (mid > 0)
            {
                List <SysRightInfo> list = Startup.GetUserRightInfoList(false).FindAll(o => o.RightType == 1 && o.ParentId == mid && o.DataState != DataStateEnum.除);
                if (list.Count > 0)
                {
                    ViewBag.Name = model.RightName;
                    return(View(list));
                }
            }
            ViewBag.Name = model.RightName;
            return(View());
        }
Beispiel #3
0
        /// <summary>
        /// 获得当前登录用户的权限列表集合
        /// </summary>
        /// <param name="reset">是否重置</param>
        /// <returns>用户权限集合</returns>
        ///Author:fredjiang
        ///Created:2015-10-29
        public static List <SysRightInfo> GetUserRightInfoList(bool reset)
        {
            List <SysRightInfo> list = new List <SysRightInfo>();
            SysUserInfo         ui   = GetUserInfo();
            string key = "current_user_right_list";

            if (ui != null)
            {
                if (HttpContext.Current.Session[key] == null || reset)
                {
                    SysRightInfoMan siMan = new SysRightInfoMan();
                    list = siMan.GetListByUser(ui).ToList();
                    if (list.Count > 0)
                    {
                        HttpContext.Current.Session[key] = list;
                    }
                }
                else
                {
                    list = HttpContext.Current.Session[key] as List <SysRightInfo>;
                }
            }
            return(list);
        }