@Override public String toString() { return getKey() + "=" + getValue(); } }
/** * Prevents removal of a role used by access rules Only checks if {@link #checkAgainstRules} is * <code>true</code> * * @param role * @throws IOException */ public void checkRoleIsUsed(GeoServerRole role) throws IOException { if (checkAgainstRules == false) return; GeoServerSecurityManager secMgr = getSecurityManager(); List<String> keys = new ArrayList<String>(); for (ServiceAccessRule rule : secMgr.getServiceAccessRuleDAO().getRulesAssociatedWithRole(role.getAuthority())) keys.add(rule.getKey()); for (DataAccessRule rule : secMgr.getDataAccessRuleDAO().getRulesAssociatedWithRole(role.getAuthority())) keys.add(rule.getKey()); if (keys.size() > 0) { String ruleString = StringUtils.collectionToCommaDelimitedString(keys); throw createSecurityException(ROLE_IN_USE_$2, role.getAuthority(), ruleString); } }
@Override protected String keyFor(Comparable rule) { return ((DataAccessRule) rule).getKey(); }
@Override protected void addRuleToMap(Comparable rule, Map map) { DataAccessRule ruleObject = (DataAccessRule) rule; map.put(ruleObject.getKey(), ruleObject.getValue()); }
public void validate(Form<?> form) { if (form.findSubmittingButton() != form.get("save")) { // only validate on final submit return; } updateModels(); DataAccessRule rule = (DataAccessRule) form.getModelObject(); //DataAccessRule rule = new DataAccessRule(model.getWorkspace(), // model.getLayer(),model.getAccessMode(), // rolesFormComponent.getRolesNamesForStoring()); if (DataAccessRuleDAO.get().getRules().contains(rule)) { form.error(new ParamResourceModel("duplicateRule", getPage(), rule.getKey()) .getString()); } }
@Test public void testParse() { assertEquals(4, dao.getRules().size()); // check the first rule DataAccessRule rule = dao.getRules().get(0); assertEquals("*.*.r", rule.getKey()); assertEquals(1, rule.getRoles().size()); assertEquals("*", rule.getRoles().iterator().next()); }
public void validate(Form<?> form) { if (form.findSubmittingButton() != form.get("save")) { // only validate on final submit return; } updateModels(); DataAccessRule rule = (DataAccessRule) form.getModelObject(); //DataAccessRule rule = new DataAccessRule(model.getWorkspace(), // model.getLayer(),model.getAccessMode(), // rolesFormComponent.getRolesNamesForStoring()); if (DataAccessRuleDAO.get().getRules().contains(rule)) { form.error(new ParamResourceModel("duplicateRule", getPage(), rule.getKey()) .getString()); } }
public void validate(Form<?> form) { if (form.findSubmittingButton() != form.get("save")) { // only validate on final submit return; } updateModels(); DataAccessRule rule = (DataAccessRule) form.getModelObject(); // DataAccessRule rule = new DataAccessRule(model.getWorkspace(), // model.getLayer(),model.getAccessMode(), // rolesFormComponent.getRolesNamesForStoring()); if (DataAccessRuleDAO.get().getRules().contains(rule)) { form.error( new ParamResourceModel("duplicateRule", getPage(), rule.getKey()) .getString()); } } }
expect(dataAccessRule.getKey()).andReturn("foo").anyTimes(); expect(dataAccessRule.getRoles()) .andReturn(new TreeSet<String>(Arrays.asList("role1")))