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); }
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); }