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