public override bool IsAccessibleToUser(HttpContext context, SiteMapNode node) { if (HttpContext.Current.Handler != null) { IPostbackLinkUpdater pg = (IPostbackLinkUpdater)HttpContext.Current.Handler; pg.UpdateLink(node); } //IList<String> lst = new IList<String>(); if (!SecurityTrimmingEnabled) { return(true); } Boolean res = true; SiteMapNode nd = node; while (nd != null) { Boolean permFound = false; if (nd.Roles.Count > 0) { foreach (String roleName in nd.Roles) { if (roleName == "*" || (context != null && context.User != null && context.User.IsInRole(roleName))) { permFound = true; break; } } } else { permFound = true; } if (!permFound) { res = false; break; } nd = nd.ParentNode; } //return base.IsAccessibleToUser(context, node); return(res); }
void IPostbackLinkUpdater.UpdateLink(SiteMapNode node) { IPostbackLinkUpdater m = (IPostbackLinkUpdater)Master; m.UpdateLink(node); }