예제 #1
0
파일: TabManager.cs 프로젝트: yunxb/cms
        private static Utils.Tab GetPluginTab(SiteServer.Plugin.Menu menu, string permission)
        {
            var tab = new Utils.Tab
            {
                Id          = menu.Id,
                Text        = menu.Text,
                IconClass   = menu.IconClass,
                Selected    = false,
                Href        = menu.Href,
                Target      = menu.Target,
                Permissions = permission
            };

            if (menu.Menus != null && menu.Menus.Count > 0)
            {
                tab.Children = new Utils.Tab[menu.Menus.Count];
                for (var i = 0; i < menu.Menus.Count; i++)
                {
                    tab.Children[i] = GetPluginTab(menu.Menus[i], permission);
                }
            }
            return(tab);
        }
예제 #2
0
파일: TabManager.cs 프로젝트: yunxb/cms
        public static bool IsValid(Utils.Tab tab, IList permissionList)
        {
            if (tab.HasPermissions)
            {
                if (permissionList != null && permissionList.Count > 0)
                {
                    var tabPermissions = tab.Permissions.Split(',');
                    foreach (var tabPermission in tabPermissions)
                    {
                        if (permissionList.Contains(tabPermission))
                        {
                            return(true);
                        }
                    }
                }

                //ITab valid, but invalid role set
                return(false);
            }

            //ITab valid, but no roles
            return(true);
        }