Example #1
0
        private void AddPermissions(MenuItem menuItem, IDictionary <string, object> settings)
        {
            var user           = UserController.Instance.GetCurrentUserInfo();
            var portalSettings = PortalSettings.Current;

            if (!settings.ContainsKey("isAdmin") && portalSettings != null)
            {
                settings.Add("isAdmin", user.IsInRole(portalSettings.AdministratorRoleName));
            }

            if (!settings.ContainsKey("isHost"))
            {
                settings.Add("isHost", user.IsSuperUser);
            }

            if (!settings.ContainsKey("permissions") && portalSettings != null)
            {
                var menuPermissions = MenuPermissionController.GetPermissions(menuItem.MenuId)
                                      .Where(p => p.MenuId == menuItem.MenuId);
                var portalId    = portalSettings.PortalId;
                var permissions = new Dictionary <string, bool>();
                foreach (var permission in menuPermissions)
                {
                    var key           = permission.PermissionKey;
                    var hasPermission = MenuPermissionController.HasMenuPermission(portalId, menuItem, key);
                    permissions.Add(key, hasPermission);
                }

                settings.Add("permissions", permissions);
            }
        }
        public override bool IsAuthorized(AuthFilterContext context)
        {
            var menuItem       = GetMenuByIdentifier();
            var portalSettings = PortalSettings.Current;

            if (menuItem == null || portalSettings == null)
            {
                return(false);
            }

            return(MenuPermissionController.HasMenuPermission(portalSettings.PortalId, menuItem, Permission));
        }
        public override bool IsAuthorized(AuthFilterContext context)
        {
            var menuItem       = GetMenuByIdentifier();
            var portalSettings = PortalSettings.Current;

            if (menuItem == null || portalSettings == null)
            {
                return(false);
            }
            if (!CheckPermissionForAdmin && PortalSecurity.IsInRole(Constants.AdminsRoleName))
            {
                return(true);
            }
            //Permissions seperated by & should be treated with AND operand.
            //Permissions seperated by , are internally treated with OR operand.
            var allPermissionGroups = Permission.Split(new[] { '&' }, StringSplitOptions.RemoveEmptyEntries);

            return(allPermissionGroups.All(allPermissions => MenuPermissionController.HasMenuPermission(portalSettings.PortalId, menuItem, allPermissions)));
        }
        private void AddPermissions(MenuItem menuItem, IDictionary <string, object> settings)
        {
            var portalSettings = PortalSettings.Current;

            if (!settings.ContainsKey("permissions") && portalSettings != null)
            {
                var menuPermissions = MenuPermissionController.GetPermissions(menuItem.MenuId)
                                      .Where(p => p.PermissionKey != "VIEW");
                var portalId    = portalSettings.PortalId;
                var permissions = new Dictionary <string, bool>();
                foreach (var permission in menuPermissions)
                {
                    var key           = permission.PermissionKey;
                    var hasPermission = MenuPermissionController.HasMenuPermission(portalId, menuItem, key);
                    permissions.Add(key, hasPermission);
                }

                settings.Add("permissions", permissions);
            }
        }
        public virtual bool CanViewPageList(int menuId)
        {
            var permissions = MenuPermissionController.GetMenuPermissions(PortalSettings.Current.PortalId, menuId);

            return(MenuPermissionController.HasMenuPermission(new MenuPermissionCollection(permissions), "VIEW_PAGE_LIST") || this.IsPageAdmin());
        }