Example #1
0
 private void BuildSiteMapLinks()
 {
     foreach (ClientPagePermissions ep in Enum.GetValues(typeof(ClientPagePermissions)))
     {
         PageLinkAttribute attribute = GetPageLink(ep);
         if (attribute != null)
         {
             Master.FindControl(attribute.NavLink).Visible = CurrentUser.Allowed(ep);
         }
     }
 }
Example #2
0
        public PageLinkAttribute GetPageLink(ClientPagePermissions pageP)
        {
            MemberInfo memberInfo = typeof(ClientPagePermissions).GetMember(pageP.ToString()).FirstOrDefault();

            if (memberInfo != null)
            {
                PageLinkAttribute attribute = (PageLinkAttribute)memberInfo.GetCustomAttributes(typeof(PageLinkAttribute), false).FirstOrDefault();
                return(attribute);
            }
            return(null);
        }
Example #3
0
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);
            Page.PreRender += new EventHandler(PagePreRender);
            if (!LoginProvider && CurrentUser == null)
            {
                SynNavigation.Goto(Pages.Login);
            }
            if (!IsPostBack)
            {
                if (RequiredPermissions.NotEmpty())
                {
                    Title = GenericFormatter.GetEnumDescription(RequiredPermissions[0]);
                }
                else
                {
                    Title = "מסך הבית";
                }


                if (!LoginProvider)
                {
                    BuildSiteMapLinks();
                    bool navSelected = false;

                    if (RequiredPermissions.NotEmpty())
                    {
                        var requiredPermis           = RequiredPermissions.FirstOrDefault();
                        PageLinkAttribute HasNavLink = GetPageLink(requiredPermis);
                        if (HasNavLink != null)
                        {
                            ((HtmlAnchor)Master.FindControl(HasNavLink.NavLink)).Attributes.Add("class", "active");
                            navSelected = true;
                        }
                    }

                    if (!navSelected)
                    {
                        ((HtmlAnchor)Master.FindControl(DefaultNavItem)).Attributes.Add("class", "active");
                    }

                    (Master as WebSimplify.WebSimplify).CurrentUserName = CurrentUser.DisplayName ?? CurrentUser.UserName;
                    (Master as WebSimplify.WebSimplify).IsAdmin         = CurrentUser.IsAdmin;
                }

                foreach (ClientPagePermissions en in RequiredPermissions)
                {
                    if (!CurrentUser.Allowed(en))
                    {
                        SynNavigation.Goto(Pages.Main);
                    }
                }
            }
        }