Tabnine Logo
DataAccessRule
Code IndexAdd Tabnine to your IDE (free)

How to use
DataAccessRule
in
org.geoserver.security.impl

Best Java code snippets using org.geoserver.security.impl.DataAccessRule (Showing top 20 results out of 315)

origin: geoserver/geoserver

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();
}
origin: geoserver/geoserver

/** Turns the rules list into a property bag */
protected Properties toProperties() {
  Properties props = new Properties();
  props.put("mode", catalogMode.toString());
  for (DataAccessRule rule : rules) {
    StringBuilder sbKey = new StringBuilder(rule.getRoot().replaceAll("\\.", "\\\\."));
    if (!rule.isGlobalGroupRule()) {
      sbKey.append(".").append(rule.getLayer().replaceAll("\\.", "\\\\."));
    }
    sbKey.append(".").append(rule.getAccessMode().getAlias());
    props.put(sbKey.toString(), rule.getValue());
  }
  return props;
}
origin: geoserver/geoserver

/**
 * 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);
  }
}
origin: geoserver/geoserver

  @Override
  public String toString() {
    return getKey() + "=" + getValue();
  }
}
origin: org.geoserver.web/gs-web-sec-core

  @Override
  protected void onFormSubmit(DataAccessRule rule) {
    try {
      DataAccessRuleDAO dao = DataAccessRuleDAO.get();

      // we cannot update the original because it might have been serialized
      // and thus detached, we'll update the rule that is the same as the original one instead
      dao.getRules()
          .forEach(
              r -> {
                if (r.equals(orig)) {
                  r.setRoot(rule.getRoot());
                  r.setGlobalGroupRule(rule.isGlobalGroupRule());
                  r.setLayer(rule.getLayer());
                  r.setAccessMode(rule.getAccessMode());
                  r.getRoles().clear();
                  r.getRoles().addAll(rule.getRoles());
                }
              });
      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()));
    }
  }
}
origin: org.geoserver.web/web-security

@Override
protected void onFormSubmit(DataAccessRule rule) {
  try {
    DataAccessRuleDAO dao = DataAccessRuleDAO.get();
    //update original
    orig.setWorkspace(rule.getWorkspace());
    orig.setLayer(rule.getLayer());
    orig.setAccessMode(rule.getAccessMode());
    orig.getRoles().clear();
    orig.getRoles().addAll(rule.getRoles());
    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()));
  }
}
origin: geoserver/geoserver

result.add(new DataAccessRule(DataAccessRule.READ_ALL));
result.add(new DataAccessRule(DataAccessRule.WRITE_ALL));
origin: org.geoserver.web/web-core

  List<String> lookupWorkspaceAdminRoles() {
    List<String> roles = new ArrayList<String>();
    DataAccessRuleDAO dao = DataAccessRuleDAO.get();
    for (DataAccessRule rule : dao.getRules()) {
      if (rule.getAccessMode() == AccessMode.ADMIN) {
        roles.addAll(rule.getRoles());
      }
    }
    return roles;
  }
}
origin: org.geoserver.security/gs-security-tests

expect(dataAccessRule.compareTo(dataAccessRule)).andReturn(0).anyTimes();
expect(dataAccessRule.getKey()).andReturn("foo").anyTimes();
expect(dataAccessRule.getRoles())
    .andReturn(new TreeSet<String>(Arrays.asList("role1")))
    .anyTimes();
origin: org.geoserver.security/gs-security-tests

@Test
public void testDifferentRoot() {
  DataAccessRule rule1 = new DataAccessRule("*", "*", AccessMode.READ);
  DataAccessRule rule2 = new DataAccessRule("*", "*", AccessMode.WRITE);
  assertEquals(-1, rule1.compareTo(rule2));
  assertFalse(rule1.equals(rule2));
}
origin: org.geoserver.security/gs-security-tests

@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());
}
origin: org.geoserver.web/gs-web-sec-core

  @Override
  public void onSubmit() {
    DataAccessRule rule = (DataAccessRule) getForm().getModelObject();
    if (rolesFormComponent.isHasAnyRole()) {
      rule.getRoles().clear();
      rule.getRoles().add(GeoServerRole.ANY_ROLE.getAuthority());
    }
    if (globalGroupRule.getModelObject()) {
      // just to be on the safe side
      rule.setLayer(null);
    }
    onFormSubmit(rule);
  }
});
origin: org.geoserver.web/gs-web-sec-core

layerContainer.add(layerAndLabel = new WebMarkupContainer("layerAndLabel"));
layerAndLabel.add(
    layerChoice = new DropDownChoice<String>("layer", getLayerNames(rule.getRoot())));
layerAndLabel.setVisible(!rule.isGlobalGroupRule());
layerChoice.setRequired(true);
layerChoice.setOutputMarkupId(true);
        new RuleRolesFormComponent("roles", new PropertyModel(rule, "roles"))
            .setHasAnyRole(
                rule.getRoles()
                    .contains(GeoServerRole.ANY_ROLE.getAuthority())));
origin: org.geoserver.web/web-security

form.add(layerChoice = new DropDownChoice<String>("layer", getLayerNames(rule.getWorkspace())));
layerChoice.setRequired(true);
layerChoice.setOutputMarkupId(true);
    rule.getRoles().contains(GeoServerRole.ANY_ROLE.getAuthority())));
origin: geoserver/geoserver

  /**
   * Returns a sorted set of rules associated to the role
   *
   * @param role
   */
  public SortedSet<DataAccessRule> getRulesAssociatedWithRole(String role) {
    SortedSet<DataAccessRule> result = new TreeSet<DataAccessRule>();
    for (DataAccessRule rule : getRules()) if (rule.getRoles().contains(role)) result.add(rule);
    return result;
  }
}
origin: org.geoserver.security/gs-security-tests

@Test
public void testEqualRoot() {
  DataAccessRule rule1 = new DataAccessRule("*", "*", AccessMode.READ);
  DataAccessRule rule2 = new DataAccessRule("*", "*", AccessMode.READ);
  assertEquals(0, rule1.compareTo(rule2));
  assertEquals(rule1, rule2);
  assertEquals(rule1.hashCode(), rule2.hashCode());
}
origin: org.geoserver.web/web-sec-core

@Override
protected void onFormSubmit(DataAccessRule rule) {
  try {
    DataAccessRuleDAO dao = DataAccessRuleDAO.get();
    //update original
    orig.setWorkspace(rule.getWorkspace());
    orig.setLayer(rule.getLayer());
    orig.setAccessMode(rule.getAccessMode());
    orig.getRoles().clear();
    orig.getRoles().addAll(rule.getRoles());
    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()));
  }
}
origin: geoserver/geoserver

return new DataAccessRule(root, layerName, mode, roles);
origin: org.geoserver.security/gs-security-tests

  @Test
  public void testDifferenPath() {
    DataAccessRule rule1 = new DataAccessRule("topp", "layer1", AccessMode.READ);
    DataAccessRule rule2 = new DataAccessRule("topp", "layer2", AccessMode.READ);
    assertEquals(-1, rule1.compareTo(rule2));
    assertFalse(rule1.equals(rule2));
  }
}
origin: org.geoserver.web/web-sec-core

form.add(layerChoice = new DropDownChoice<String>("layer", getLayerNames(rule.getWorkspace())));
layerChoice.setRequired(true);
layerChoice.setOutputMarkupId(true);
    rule.getRoles().contains(GeoServerRole.ANY_ROLE.getAuthority())));
org.geoserver.security.implDataAccessRule

Javadoc

Represents a data access rule: identifies a workspace, a layer, an access mode, and the set of roles that are allowed to access it

Mind, two rules are considered equal if the address the same data, if you need full comparison, use #equalsExact(DataAccessRule)

Most used methods

  • <init>
  • getRoles
  • getAccessMode
  • getKey
  • getLayer
  • setAccessMode
  • setLayer
  • getRoot
  • isGlobalGroupRule
  • setRoot
  • compareTo
  • equals
  • compareTo,
  • equals,
  • getValue,
  • getWorkspace,
  • setWorkspace,
  • compareCatalogItems,
  • hashCode,
  • setGlobalGroupRule

Popular in Java

  • Creating JSON documents from java classes using gson
  • requestLocationUpdates (LocationManager)
  • getSupportFragmentManager (FragmentActivity)
  • startActivity (Activity)
  • ServerSocket (java.net)
    This class represents a server-side socket that waits for incoming client connections. A ServerSocke
  • Dictionary (java.util)
    Note: Do not use this class since it is obsolete. Please use the Map interface for new implementatio
  • Enumeration (java.util)
    A legacy iteration interface.New code should use Iterator instead. Iterator replaces the enumeration
  • Queue (java.util)
    A collection designed for holding elements prior to processing. Besides basic java.util.Collection o
  • Servlet (javax.servlet)
    Defines methods that all servlets must implement. A servlet is a small Java program that runs within
  • Option (scala)
  • Top plugins for WebStorm
Tabnine Logo
  • Products

    Search for Java codeSearch for JavaScript code
  • IDE Plugins

    IntelliJ IDEAWebStormVisual StudioAndroid StudioEclipseVisual Studio CodePyCharmSublime TextPhpStormVimGoLandRubyMineEmacsJupyter NotebookJupyter LabRiderDataGripAppCode
  • Company

    About UsContact UsCareers
  • Resources

    FAQBlogTabnine AcademyTerms of usePrivacy policyJava Code IndexJavascript Code Index
Get Tabnine for your IDE now