protected ParamsBean getParamsBean(HttpServletRequest request, String... restPath) { return new ParamsBean(request, getHostsList(), restPath); }
protected boolean allowed(ParamsBean params, ACL acl, HttpServletRequest req, HttpServletResponse res) { if (getPropertiesManager().security) { logger.trace(jrds.Util.delayedFormatString("Looking if ACL %s allow access to %s", acl, req.getServletPath())); if (!acl.check(params)) { res.setStatus(HttpServletResponse.SC_FORBIDDEN); return false; } } return true; }
public GraphNode getGraphNode(JrdsServlet caller) { GraphNode gn = null; if(id != null) gn = hostlist.getGraphById(id); if(gn != null) { logger.debug(jrds.Util.delayedFormatString("Graph found: %s", gn)); } else if(pid != null && pid != 0 && dsName != null) { if(!caller.allowed(this, hostlist.getDefaultRoles())) return null; Probe<?, ?> p = getProbe(); if(p == null) { logger.error("Looking for unknown probe"); return null; } logger.debug(jrds.Util.delayedFormatString("Probe found: %s", p)); Graphics2D g2d = new BufferedImage(1, 1, BufferedImage.TYPE_INT_RGB).createGraphics(); String graphDescName = p.getName() + "." + dsName; GraphDesc gd = new GraphDesc(); gd.setName(graphDescName); gd.setGraphName(p.getHost().getName() + "." + p.getName() + "." + dsName); gd.setGraphTitle(p.getName() + "." + dsName + " on ${host}"); gd.add(dsName, GraphDesc.LINE); gd.initializeLimits(g2d); gn = new GraphNode(p, gd); gn.addACL(Configuration.get().getPropertiesManager().defaultACL); } return gn; }
protected boolean allowed(ParamsBean params, Set<String> roles) { if(getPropertiesManager().security) { if (params.getRoles().contains(getPropertiesManager().adminrole)) { return true; } else if (roles.contains("ANONYMOUS")) { return true; } else { if (logger.isTraceEnabled()) { logger.trace("Checking if roles " + params.getRoles() + " in roles " + roles); logger.trace("Disjoint: " + Collections.disjoint(roles, params.getRoles())); } return !Collections.disjoint(roles, params.getRoles()); } } return true; }