Ejemplo n.º 1
0
    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);
    }
Ejemplo n.º 2
0
    void IPostbackLinkUpdater.UpdateLink(SiteMapNode node)
    {
        IPostbackLinkUpdater m = (IPostbackLinkUpdater)Master;

        m.UpdateLink(node);
    }