public void putActionRoles(Action action, String roles) { actionRolesMap.put(action.getActionName(), roles); }
public String[] getRoleNames(Action action) { String roles = actionRolesMap.get(action.getActionName()); if (roles == null) { return new String[0]; } return roles.split(","); }
public void setActionRoles(String siteName, Action action, String roles) { ModuleConfigMetadata metadata = getMetadata(siteName); ModuleConfig mconfig = metadata.getModuleConfig(); String actions = actionSecurity.getString(action.getActionName()); String[] actionArray = actions.split(","); for (int i = 0; i < actionArray.length; i++) { try { ActionConfig aconfig = mconfig.findActionConfig(actionArray[i]); aconfig.setRoles(roles); } catch (Exception e) { e.printStackTrace(); } } }
public boolean hasPermission(String siteName, String role, Action action) { if (action.getParameter() == null) { return siteService.hasPermission(siteName, role, action); } else { if (action.getActionName().startsWith("/page/")) { return contents.hasPermission(siteName, action.getParameter(), role); } else { throw new UnsupportedOperationException(); } } }
public void setPermissions(String siteName, Action action, String[] grantRoleNames, String[] denyRoleNames) { if (action.getParameter() == null) { String roles = StringUtils.join(grantRoleNames, ","); siteService.setSecurity(siteName, action, roles); } else { if (action.getActionName().startsWith("/page/")) { String pagePath = action.getParameter(); // contents.revokePermissions(siteName, pagePath); contents.setPermissions(siteName, pagePath, grantRoleNames, denyRoleNames); } else { throw new UnsupportedOperationException(); } } }