Example #1
0
 public ActionResult GetExceptionMenuAjaxByRole(long RoleID,long? AuthorID)
 {
     RoleMenuQuery menuRoleQuery = new RoleMenuQuery();
     menuRoleQuery.JournalID = JournalID;
     menuRoleQuery.RoleID = RoleID;
     menuRoleQuery.GroupID = CurAuthor.GroupID;
     menuRoleQuery.AuthorID = AuthorID;
     ISiteSystemFacadeService siteSystemService = ServiceContainer.Instance.Container.Resolve<ISiteSystemFacadeService>();
     return Content(JsonConvert.SerializeObject(siteSystemService.GetHaveRightMenuAjaxByRole(menuRoleQuery)));
 }
Example #2
0
 public ActionResult GetHaveRightMenuAjax()
 {
     RoleMenuQuery menuRoleQuery = new RoleMenuQuery();
     menuRoleQuery.JournalID = JournalID;
     menuRoleQuery.RoleID = CurAuthor.RoleID;
     menuRoleQuery.AuthorID = CurAuthor.AuthorID;
     menuRoleQuery.GroupID = CurAuthor.GroupID;
     menuRoleQuery.IsExpend = CurAuthor.GroupID == 1 ? false : true;
     ISiteSystemFacadeService siteSystemService = ServiceContainer.Instance.Container.Resolve<ISiteSystemFacadeService>();
     return Content(JsonConvert.SerializeObject(siteSystemService.GetHaveRightMenu(menuRoleQuery)));
 }
Example #3
0
 /// <summary>
 /// 获取指定角色拥有的菜单
 /// </summary>
 /// <param name="query"></param>
 /// <returns></returns>
 public IList<MenuEntity> GetHaveRightMenuList(RoleMenuQuery query)
 {
     return RoleMenuDataAccess.Instance.GetHaveRightMenuList(query);
 }
Example #4
0
 /// <summary>
 /// 获取所有符合查询条件的数据
 /// </summary>
 /// <param name="roleMenuQuery">RoleMenuQuery查询实体对象</param>
 /// <returns>List<RoleMenuEntity></returns>
 public List<RoleMenuEntity> GetRoleMenuList(RoleMenuQuery roleMenuQuery)
 {
     return RoleMenuBusProvider.GetRoleMenuList(roleMenuQuery);
 }
Example #5
0
 /// <summary>
 /// 获取指定角色拥有权限的菜单ID
 /// </summary>
 /// <param name="query"></param>
 /// <returns></returns>
 public IDictionary<long, long> GetRoleMenuDict(RoleMenuQuery query)
 {
     return RoleMenuBusProvider.GetRoleMenuDict(query);
 }
 public IDictionary<long, long> GetTreeNodeListHaveRight(RoleMenuQuery queryRoleMenu)
 {
     IDictionary<long, long> dictHaveRightMenu = new Dictionary<long, long>();
     IRoleMenuService menuRoleService = ServiceContainer.Instance.Container.Resolve<IRoleMenuService>();
     dictHaveRightMenu = menuRoleService.GetRoleMenuDict(queryRoleMenu);
     return dictHaveRightMenu;
 }
        /// <summary>
        /// 获取菜单列表,带有权限标示
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        public IList<TreeModel> GetHaveRightMenuAjaxByRole(RoleMenuQuery queryRoleMenu)
        {
            HttpClientHelper clientHelper = new HttpClientHelper();

            // 给指定的作者设置了例外的菜单
            IDictionary<long, string> dictExceptionRightMenu = new Dictionary<long, string>();
            if (queryRoleMenu.AuthorID != null)
            {
                AuthorMenuRightExceptionEntity authorExecEntity = new AuthorMenuRightExceptionEntity();
                authorExecEntity.AuthorID = queryRoleMenu.AuthorID.Value;
                authorExecEntity.JournalID = queryRoleMenu.JournalID;
                dictExceptionRightMenu = clientHelper.PostAuth<IDictionary<long, string>, AuthorMenuRightExceptionEntity>(GetAPIUrl(APIConstant.SYSGETAUTHOREXCEPTIONRIGHTMENU), authorExecEntity);
            }

            IList<MenuEntity> listHaveRightMenuList = clientHelper.Post<IList<MenuEntity>, RoleMenuQuery>(GetAPIUrl(APIConstant.SYSGETHAVERIGHTMENULIST), queryRoleMenu);
            IList<TreeModel> listResult = new List<TreeModel>();
            if (listHaveRightMenuList != null)
            {
                IList<MenuEntity> listRoot = listHaveRightMenuList.Where(item => item.PMenuID == 0).ToList<MenuEntity>();
                TreeModel treeNode = null;
                foreach (MenuEntity item in listRoot)
                {
                    treeNode = new TreeModel();
                    treeNode.key = item.MenuID.ToString();
                    treeNode.text = item.MenuName;
                    treeNode.url = SiteConfig.RootPath + item.MenuUrl;
                    treeNode.icon = SiteConfig.RootPath + item.IconUrl;
                    treeNode.isexpand = queryRoleMenu.IsExpend;
                    treeNode.ischecked = dictExceptionRightMenu.ContainsKey(item.MenuID) ? false : true;

                    IList<MenuEntity> listChild = listHaveRightMenuList.Where(p => p.PMenuID == item.MenuID).ToList<MenuEntity>();
                    if (listChild != null)
                    {
                        // 二级
                        foreach (MenuEntity itemChild in listChild)
                        {

                            TreeModel treeChildNode = new TreeModel();
                            treeChildNode.key = itemChild.MenuID.ToString();
                            treeChildNode.text = itemChild.MenuName;
                            treeChildNode.url = SiteConfig.RootPath + itemChild.MenuUrl;
                            treeChildNode.icon = SiteConfig.RootPath + itemChild.IconUrl;
                            treeChildNode.isexpand = queryRoleMenu.IsExpend;
                            treeChildNode.ischecked = dictExceptionRightMenu.ContainsKey(itemChild.MenuID) ? false : true;
                            treeNode.children.Add(treeChildNode);
                            // 三级
                            IList<MenuEntity> lastListChild = listHaveRightMenuList.Where(p => p.PMenuID == itemChild.MenuID).ToList<MenuEntity>();
                            foreach (MenuEntity lastChild in lastListChild)
                            {

                                TreeModel treeLastNode = new TreeModel();
                                treeLastNode.key = lastChild.MenuID.ToString();
                                treeLastNode.text = lastChild.MenuName;
                                treeLastNode.url = SiteConfig.RootPath + lastChild.MenuUrl;
                                treeLastNode.icon = SiteConfig.RootPath + lastChild.IconUrl;
                                treeLastNode.isexpand = queryRoleMenu.IsExpend;
                                treeLastNode.ischecked = dictExceptionRightMenu.ContainsKey(lastChild.MenuID) ? false : true;
                                treeChildNode.children.Add(treeLastNode);
                            }
                        }
                    }
                    listResult.Add(treeNode);
                }
            }
            return listResult;
        }
Example #8
0
 /// <summary>
 /// 是否有权限访问当前地址,根据分组判断
 /// 如果该地址出现在menu表中了,则进行判断,如果没有则不判断
 /// </summary>
 /// <param name="RoleIDList"></param>
 /// <param name="url"></param>
 /// <returns></returns>
 public bool IsHaveAccessRightByGroup(RoleMenuQuery query)
 {
     return RoleMenuDataAccess.Instance.IsHaveAccessRightByGroup(query);
 }
 /// <summary>
 /// 将查询实体转换为Order语句
 /// <param name="query">查询实体</param>
 /// <returns>获取Order语句,不包含Order</returns>
 /// </summary>
 public string RoleMenuQueryToSQLOrder(RoleMenuQuery query)
 {
     return " MapID DESC";
 }
Example #10
0
 /// <summary>
 /// 是否有权限访问当前地址
 /// 如果该地址出现在menu表中了,则进行判断,如果没有则不判断
 /// </summary>
 /// <param name="RoleIDList"></param>
 /// <param name="url"></param>
 /// <returns></returns>
 public bool IsHaveAccessRightByGroup(RoleMenuQuery query)
 {
     bool flag = false;
     string sql = @" SELECT TOP 1 m.MenuID,m.GroupID FROM dbo.Menu m WITH(NOLOCK) WHERE m.JournalID=@JournalID AND m.MenuUrl=@MenuUrl";
     DbCommand cmd = db.GetSqlStringCommand(sql);
     db.AddInParameter(cmd, "@MenuUrl", DbType.String, query.Url);
     db.AddInParameter(cmd, "@JournalID", DbType.Int64, query.JournalID);
     IDataReader dr = db.ExecuteReader(cmd);
     if (dr.Read())
     {
         if (WKT.Common.Utils.TypeParse.ToInt16(dr["GroupID"], 0) == query.GroupID.Value)
         {
             flag = true;
         }
         dr.Close();
     }
     else
     {
         flag = true;
     }
     return flag;
 }
Example #11
0
        /// <summary>
        /// 是否有权限访问当前地址
        /// 如果该地址出现在menu表中了,则进行判断,如果没有则不判断
        /// </summary>
        /// <param name="RoleIDList"></param>
        /// <param name="url"></param>
        /// <returns></returns>
        public bool IsHaveAccessRight(RoleMenuQuery query)
        {
            bool flag = false;
            string sql = @" DECLARE @MenuID BIGINT,@IsHaveRight TINYINT
                            SET @IsHaveRight = 0
                            SELECT TOP 1 @MenuID=m.MenuID FROM dbo.Menu m WITH(NOLOCK) WHERE m.JournalID=@JournalID AND m.MenuUrl=@MenuUrl
                            IF @MenuID IS NULL
                            BEGIN
                                SET @IsHaveRight = 1
                            END
                            BEGIN
                                SET @MenuID = NULL
                                SELECT TOP 1 @MenuID=m.MenuID FROM dbo.RoleMenu r WITH(NOLOCK),dbo.Menu m WITH(NOLOCK) WHERE r.JournalID=@JournalID AND r.MenuID=m.MenuID AND r.RoleID {0} AND m.MenuUrl=@MenuUrl
                                IF @MenuID IS NOT NULL
                                BEGIN
                                    SET @IsHaveRight=1
                                END
                            END
                            SELECT @IsHaveRight AS IsHaveRight";

            StringBuilder sqlCommandText = new StringBuilder();
            if (query.RoleID != null)
            {
                sqlCommandText.AppendFormat(sql, "= " + query.RoleID);
            }
            else if (query.RoleIDList != null && query.RoleIDList.Count > 0)
            {
                if (query.RoleIDList.Count == 1)
                {
                    sqlCommandText.AppendFormat(sql, "= " + query.RoleIDList[0]);
                }
                else
                {
                    sqlCommandText.AppendFormat(sql, " IN (" + string.Join(",", query.RoleIDList) + ")");
                }
            }
            else
            {
                sqlCommandText.AppendFormat(sql, " = 0");
            }
            DbCommand cmd = db.GetSqlStringCommand(sqlCommandText.ToString());
            db.AddInParameter(cmd, "@MenuUrl", DbType.String, query.Url);
            db.AddInParameter(cmd, "@JournalID", DbType.Int64, query.JournalID);
            object returnVal = db.ExecuteScalar(cmd);
            if (returnVal != null)
            {
                if (WKT.Common.Utils.TypeParse.ToInt16(returnVal,0) == 1)
                {
                    flag = true;
                }
            }
            return flag;
        }
Example #12
0
 /// <summary>
 /// 查询
 /// </summary>
 /// <param name="query"></param>
 /// <returns></returns>
 public List<RoleMenuEntity> GetRoleMenuList(RoleMenuQuery query)
 {
     List<RoleMenuEntity> list = new List<RoleMenuEntity>();
     StringBuilder sqlCommandText = new StringBuilder();
     sqlCommandText.Append("SELECT MapID,JournalID,RoleID,MenuID,AddDate FROM dbo.RoleMenu WITH(NOLOCK)");
     string whereSQL = RoleMenuQueryToSQLWhere(query);
     string orderBy = RoleMenuQueryToSQLOrder(query);
     if (!string.IsNullOrEmpty(whereSQL)) sqlCommandText.Append(" WHERE " + whereSQL);
     if (!string.IsNullOrEmpty(orderBy)) sqlCommandText.Append(" ORDER BY " + orderBy);
     DbCommand cmd = db.GetSqlStringCommand(sqlCommandText.ToString());
     using (IDataReader dr = db.ExecuteReader(cmd))
     {
         list = MakeRoleMenuList(dr);
     }
     return list;
 }
Example #13
0
 /// <summary>
 /// 获取指定角色拥有的菜单
 /// </summary>
 /// <param name="query"></param>
 /// <returns></returns>
 public IDictionary<long, long> GetRoleMenuDict(RoleMenuQuery query)
 {
     IDictionary<long, long> dictRoleMap = new Dictionary<long, long>();
     StringBuilder sqlCommandText = new StringBuilder();
     sqlCommandText.Append("SELECT MapID,JournalID,RoleID,MenuID,AddDate FROM dbo.RoleMenu WITH(NOLOCK)");
     string whereSQL = RoleMenuQueryToSQLWhere(query);
     string orderBy = RoleMenuQueryToSQLOrder(query);
     if (!string.IsNullOrEmpty(whereSQL)) sqlCommandText.Append(" WHERE " + whereSQL);
     if (!string.IsNullOrEmpty(orderBy)) sqlCommandText.Append(" ORDER BY " + orderBy);
     DbCommand cmd = db.GetSqlStringCommand(sqlCommandText.ToString());
     long MenuID = 0;
     long RoleID = 0;
     int MenuIDIndex = 0;
     int RoleIDIndex = 0;
     using (IDataReader dr = db.ExecuteReader(cmd))
     {
         MenuIDIndex = dr.GetOrdinal("MenuID");
         RoleIDIndex = dr.GetOrdinal("RoleID");
         while (dr.Read())
         {
             MenuID = WKT.Common.Utils.TypeParse.ToLong(dr[MenuIDIndex], 0);
             RoleID = WKT.Common.Utils.TypeParse.ToLong(dr[RoleIDIndex], 0);
             if (!dictRoleMap.ContainsKey(MenuID))
             {
                 dictRoleMap.Add(MenuID, RoleID);
             }
         }
         dr.Close();
     }
     return dictRoleMap;
 }
Example #14
0
 /// <summary>
 /// 获取指定角色拥有权限的菜单ID
 /// </summary>
 /// <param name="query"></param>
 /// <returns></returns>
 public IDictionary<long, long> GetRoleMenuDict(RoleMenuQuery query)
 {
     return RoleMenuDataAccess.Instance.GetRoleMenuDict(query);
 }
Example #15
0
 /// <summary>
 /// 将查询实体转换为Where语句
 /// <param name="query">查询实体</param>
 /// <returns>获取Where语句,不包含Where</returns>
 /// </summary>
 public string RoleMenuQueryToSQLWhere(RoleMenuQuery query)
 {
     StringBuilder sbWhere = new StringBuilder(" JournalID = " + query.JournalID);
     if (query.RoleID != null)
     {
         sbWhere.Append(" AND RoleID = ").Append(query.RoleID.Value);
     }
     if (query.RoleIDList != null)
     {
         if (query.RoleIDList.Count > 0)
         {
             if (query.RoleIDList.Count == 1)
             {
                 sbWhere.Append(" AND RoleID = ").Append(query.RoleIDList[0]);
             }
             else
             {
                 sbWhere.Append(" AND RoleID IN (").Append(string.Join(",", query.RoleIDList)).Append(")");
             }
         }
     }
     return sbWhere.ToString();
 }
Example #16
0
 /// <summary>
 /// 获取所有符合查询条件的数据
 /// </summary>
 /// <param name="roleMenuQuery">RoleMenuQuery查询实体对象</param>
 /// <returns>List<RoleMenuEntity></returns>
 public List<RoleMenuEntity> GetRoleMenuList(RoleMenuQuery roleMenuQuery)
 {
     return RoleMenuDataAccess.Instance.GetRoleMenuList(roleMenuQuery);
 }
Example #17
0
        /// <summary>
        /// 获取指定角色拥有的菜单
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        public IList<MenuEntity> GetHaveRightMenuList(RoleMenuQuery query)
        {
            string sql = "SELECT DISTINCT m.MenuID,m.MenuName,m.MenuUrl,m.PMenuID,m.IconUrl,m.SortID,m.IsContentMenu FROM dbo.RoleMenu r WITH(NOLOCK),dbo.Menu m WITH(NOLOCK) WHERE m.JournalID=@JournalID AND m.GroupID=@GroupID AND m.JournalID=r.JournalID AND r.RoleID {0} AND r.MenuID=m.MenuID AND m.Status=1 ORDER BY m.SortID ASC,m.MenuID ASC";
            StringBuilder sqlCommandText = new StringBuilder();
            if (query.GroupID == (Byte)EnumMemberGroup.Editor)
            {
                if (query.RoleID != null)
                {
                    sqlCommandText.AppendFormat(sql, "= " + query.RoleID);
                }
                else if (query.RoleIDList != null && query.RoleIDList.Count > 0)
                {
                    if (query.RoleIDList.Count == 1)
                    {
                        sqlCommandText.AppendFormat(sql, "= " + query.RoleIDList[0]);
                    }
                    else
                    {
                        sqlCommandText.AppendFormat(sql, " IN (" + string.Join(",", query.RoleIDList) + ")");
                    }
                }
                else
                {
                    sqlCommandText.AppendFormat(sql, " = 0");
                }
            }
            else
            {
                sqlCommandText = new StringBuilder("SELECT m.MenuID,m.MenuName,m.MenuUrl,m.PMenuID,m.IconUrl,m.SortID,m.IsContentMenu FROM dbo.Menu m WITH(NOLOCK) WHERE m.JournalID=@JournalID AND m.GroupID=@GroupID AND m.Status=1 ORDER BY m.SortID ASC,m.MenuID ASC");
            }
            DbCommand cmd = db.GetSqlStringCommand(sqlCommandText.ToString());
            db.AddInParameter(cmd,"@JournalID",DbType.Int64,query.JournalID);
            db.AddInParameter(cmd, "@GroupID", DbType.Byte, query.GroupID);

            IList<MenuEntity> menuList = new List<MenuEntity>();
            using (IDataReader dr = db.ExecuteReader(cmd))
            {
                MenuEntity entity = null;
                while (dr.Read())
                {
                    entity = new MenuEntity();
                    entity.MenuID = WKT.Common.Utils.TypeParse.ToLong(dr["MenuID"], 0);
                    entity.PMenuID = WKT.Common.Utils.TypeParse.ToInt(dr["PMenuID"], 0);
                    entity.MenuName = dr["MenuName"].ToString();
                    entity.MenuUrl = dr["MenuUrl"].ToString();
                    entity.IconUrl = dr["IconUrl"].ToString();
                    entity.IsContentMenu = WKT.Common.Utils.TypeParse.ToBool(dr["IsContentMenu"], false);
                    menuList.Add(entity);
                }
                dr.Close();
            }
            return menuList;
        }
        /// <summary>
        /// 获取菜单列表,带有权限标示
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        public IList<TreeModel> GetHaveRightMenu(RoleMenuQuery queryRoleMenu)
        {
            if (queryRoleMenu.GroupID == 2)
            {
                MenuQuery query = new MenuQuery();
                query.JournalID = queryRoleMenu.JournalID;
                query.GroupID = 2;
                query.Status = 1;
                return GetTreeNodeList(query);
            }

            # region 找到内容菜单,添加栏目列表

            Func<IList<TreeModel>> funcGetSiteChanneNodes = () =>
            {
                IList<TreeModel> channelTreeList = new List<TreeModel>();
                SiteChannelQuery channelQuery = new SiteChannelQuery();
                channelQuery.JournalID = queryRoleMenu.JournalID;
                channelQuery.Status = 1;
                SiteConfigFacadeAPIService siteConfigAPIService = new SiteConfigFacadeAPIService();
                channelTreeList = siteConfigAPIService.GetSiteChannelTreeList(channelQuery,true);
                TreeModel root = channelTreeList.Single(p => p.Id == 0);
                return root.children;
            };

            # endregion

            IList<TreeModel> listResult = new List<TreeModel>();

            HttpClientHelper clientHelper = new HttpClientHelper();

            // 给指定的作者设置了例外的菜单
            IDictionary<long, string> dictExceptionRightMenu = new Dictionary<long, string>();
            if (queryRoleMenu.AuthorID != null)
            {
                AuthorMenuRightExceptionEntity authorExecEntity = new AuthorMenuRightExceptionEntity();
                authorExecEntity.AuthorID = queryRoleMenu.AuthorID.Value;
                authorExecEntity.JournalID = queryRoleMenu.JournalID;
                dictExceptionRightMenu = clientHelper.PostAuth<IDictionary<long, string>, AuthorMenuRightExceptionEntity>(GetAPIUrl(APIConstant.SYSGETAUTHOREXCEPTIONRIGHTMENU), authorExecEntity);
            }
            IList<MenuEntity> listHaveRightMenuList = clientHelper.Post<IList<MenuEntity>, RoleMenuQuery>(GetAPIUrl(APIConstant.SYSGETHAVERIGHTMENULIST), queryRoleMenu);

            if (listHaveRightMenuList != null)
            {
                IList<MenuEntity> listRoot = listHaveRightMenuList.Where(item => item.PMenuID == 0).ToList<MenuEntity>();
                TreeModel treeNode = null;
                foreach (MenuEntity item in listRoot)
                {
                    if (!dictExceptionRightMenu.ContainsKey(item.MenuID))
                    {
                        bool first = true;

                        treeNode = new TreeModel();
                        treeNode.key = item.MenuID.ToString();
                        treeNode.text = item.MenuName;
                        treeNode.url = SiteConfig.RootPath + item.MenuUrl;
                        treeNode.icon = SiteConfig.RootPath + item.IconUrl;
                        treeNode.isexpand = queryRoleMenu.IsExpend;

                        IList<MenuEntity> listChild = listHaveRightMenuList.Where(p => p.PMenuID == item.MenuID).ToList<MenuEntity>();
                        if (listChild != null)
                        {
                            treeNode.isexpand = (first != queryRoleMenu.IsExpend) && first ? first : queryRoleMenu.IsExpend;
                            // 二级
                            foreach (MenuEntity itemChild in listChild)
                            {
                                if (!dictExceptionRightMenu.ContainsKey(itemChild.MenuID))
                                {
                                    TreeModel treeChildNode = new TreeModel();
                                    treeChildNode.key = itemChild.MenuID.ToString();
                                    treeChildNode.text = itemChild.MenuName;
                                    treeChildNode.url = SiteConfig.RootPath + itemChild.MenuUrl;
                                    treeChildNode.icon = SiteConfig.RootPath + itemChild.IconUrl;
                                    treeChildNode.isexpand = queryRoleMenu.IsExpend;
                                    // 如果是网站内容管理节点,则载入站点栏目设置
                                    if (itemChild.IsContentMenu)
                                    {
                                        treeChildNode.children = funcGetSiteChanneNodes();
                                        treeNode.children.Add(treeChildNode);
                                    }
                                    else
                                    {
                                        treeNode.children.Add(treeChildNode);
                                        // 三级
                                        IList<MenuEntity> lastListChild = listHaveRightMenuList.Where(p => p.PMenuID == itemChild.MenuID).ToList<MenuEntity>();
                                        foreach (MenuEntity lastChild in lastListChild)
                                        {
                                            if (!dictExceptionRightMenu.ContainsKey(lastChild.MenuID))
                                            {
                                                TreeModel treeLastNode = new TreeModel();
                                                treeLastNode.key = lastChild.MenuID.ToString();
                                                treeLastNode.text = lastChild.MenuName;
                                                treeLastNode.url = SiteConfig.RootPath + lastChild.MenuUrl;
                                                treeLastNode.icon = SiteConfig.RootPath + lastChild.IconUrl;
                                                treeLastNode.isexpand = queryRoleMenu.IsExpend;
                                                treeChildNode.children.Add(treeLastNode);
                                            }
                                        }
                                    }
                                }
                            }
                            first = false;
                        }
                        listResult.Add(treeNode);
                    }
                }
            }
            return listResult;
        }
Example #19
0
 /// <summary>
 /// 是否有权限访问当前地址,根据分组判断
 /// 如果该地址出现在menu表中了,则进行判断,如果没有则不判断
 /// </summary>
 /// <param name="RoleIDList"></param>
 /// <param name="url"></param>
 /// <returns></returns>
 public bool IsHaveAccessRightByGroup(RoleMenuQuery query)
 {
     return RoleMenuBusProvider.IsHaveAccessRightByGroup(query);
 }
 public IList<MenuEntity> GetHaveRightMenu(RoleMenuQuery queryRoleMenu)
 {
     IList<MenuEntity> listAllMenu = null;
     IRoleMenuService menuService = ServiceContainer.Instance.Container.Resolve<IRoleMenuService>();
     listAllMenu = menuService.GetHaveRightMenuList(queryRoleMenu);
     return listAllMenu;
 }
Example #21
0
 /// <summary>
 /// 获取指定角色拥有的菜单
 /// </summary>
 /// <param name="query"></param>
 /// <returns></returns>
 public IList<MenuEntity> GetHaveRightMenuList(RoleMenuQuery query)
 {
     return RoleMenuBusProvider.GetHaveRightMenuList(query);
 }
 public bool IsHaveMenuRight(RoleMenuQuery queryRoleMenu)
 {
     bool flag = false;
     IRoleMenuService menuService = ServiceContainer.Instance.Container.Resolve<IRoleMenuService>();
     flag = menuService.IsHaveAccessRight(queryRoleMenu);
     return flag;
 }
Example #23
0
        protected override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            if (TicketTool.IsLogin())
            {
                CurAuthor = JsonConvert.DeserializeObject<AuthorInfoEntity>(TicketTool.GetUserData());
                if (CurAuthor == null)
                {
                    filterContext.HttpContext.Response.Redirect(SiteConfig.RootPath + "/user/login/", true);
                }
                else
                {
                    string cururl = filterContext.HttpContext.Request.Path.ToLower();
                    if (!cururl.EndsWith("/"))
                    {
                        cururl = cururl + "/";
                    }

                    if (CurAuthor.GroupID == (byte)EnumMemberGroup.Editor)
                    {
                        # region check is have access cur url right

                        RoleMenuQuery roleQuery = new RoleMenuQuery();
                        roleQuery.RoleIDList = CurAuthor.RoleIDList;
                        roleQuery.Url = cururl;
                        roleQuery.JournalID = JournalID;
                        if (!systemFacadeService.IsHaveAccessRight(roleQuery))
                        {
                            filterContext.HttpContext.Response.Redirect("/?url=" + filterContext.HttpContext.Server.UrlEncode("/home/noright"), true);
                        }

                        # endregion

                        ViewBag.SiteTitle = "稿件管理平台";
                    }
                    else if (CurAuthor.GroupID == (byte)EnumMemberGroup.Expert || CurAuthor.GroupID == (byte)EnumMemberGroup.EnExpert)
                    {
                        # region check is have access cur url right

                        RoleMenuQuery roleQuery = new RoleMenuQuery();
                        roleQuery.GroupID = CurAuthor.GroupID;
                        roleQuery.Url = cururl;
                        roleQuery.JournalID = JournalID;
                        if (!systemFacadeService.IsHaveAccessRightByGroup(roleQuery))
                        {
                            filterContext.HttpContext.Response.Redirect("/?url=" + filterContext.HttpContext.Server.UrlEncode("/home/noright"), true);
                        }

                        # endregion

                        ViewBag.SiteTitle = "稿件专家处理平台";
                    }