protected void addLayerAccessRule( String workspace, String layer, AccessMode mode, String... roles) throws IOException { DataAccessRuleDAO dao = DataAccessRuleDAO.get(); DataAccessRule rule = new DataAccessRule(); rule.setRoot(workspace); rule.setLayer(layer); rule.setAccessMode(mode); rule.getRoles().addAll(Arrays.asList(roles)); dao.addRule(rule); dao.storeRules(); }
@Override protected void onFormSubmit(DataAccessRule rule) { try { DataAccessRuleDAO dao = DataAccessRuleDAO.get(); dao.addRule(rule); dao.storeRules(); doReturn(DataSecurityPage.class); } catch (Exception e) { LOGGER.log(Level.SEVERE, "Error occurred while saving rule ", e); error(new ParamResourceModel("saveError", getPage(), e.getMessage())); } }
@Override protected void onFormSubmit(DataAccessRule rule) { try { DataAccessRuleDAO dao = DataAccessRuleDAO.get(); dao.addRule(rule); dao.storeRules(); doReturn(DataSecurityPage.class); } catch (Exception e) { LOGGER.log(Level.SEVERE, "Error occurred while saving rule ", e); error(new ParamResourceModel("saveError", getPage(), e.getMessage())); } }
@Override protected void onFormSubmit(DataAccessRule rule) { try { DataAccessRuleDAO dao = DataAccessRuleDAO.get(); dao.addRule(rule); dao.storeRules(); doReturn(DataSecurityPage.class); } catch (Exception e) { LOGGER.log(Level.SEVERE, "Error occurred while saving rule ", e); error(new ParamResourceModel("saveError", getPage(), e.getMessage())); } }
@Test public void testStoreEscapedDots() throws Exception { dao.clear(); dao.addRule( new DataAccessRule( "it.geosolutions", "layer.dots", AccessMode.READ, Collections.singleton("ROLE_ABC"))); Properties ps = dao.toProperties(); assertEquals(2, ps.size()); assertEquals("ROLE_ABC", ps.getProperty("it\\.geosolutions.layer\\.dots.r")); ByteArrayOutputStream bos = new ByteArrayOutputStream(); ps.store(bos, null); } }
@Test public void testAdd() { assertEquals(4, dao.getRules().size()); DataAccessRule newRule = dao.parseDataAccessRule("*.*.w", "ROLE_GENERIC_W"); assertTrue(dao.addRule(newRule)); assertEquals(5, dao.getRules().size()); assertEquals(newRule, dao.getRules().get(1)); assertFalse(dao.addRule(newRule)); }
rule.setAccessMode(AccessMode.READ); rule.getRoles().add("readcdf"); ruleDao.addRule(rule); rule.setAccessMode(AccessMode.WRITE); rule.getRoles().add("writecdf"); ruleDao.addRule(rule); rule.setAccessMode(AccessMode.ADMIN); rule.getRoles().add("admincdf"); ruleDao.addRule(rule); rule.setAccessMode(AccessMode.READ); rule.getRoles().add("readcite"); ruleDao.addRule(rule); rule.setAccessMode(AccessMode.WRITE); rule.getRoles().add("writecite"); ruleDao.addRule(rule); rule.setAccessMode(AccessMode.ADMIN); rule.getRoles().add("admincite"); ruleDao.addRule(rule);