public PDPResponseCollection request(PDPRequestCollection pdpReqCol) throws DecisionProcessingException { PDPResponseCollection resColl = new PDPResponseCollection(); LOG.info("PDP performs request"); Iterator it = pdpReqCol.iterator(); // iterate through request collection while (it.hasNext()) { PDPRequest request = (PDPRequest) it.next(); // only one target imaginable Target target = request.getTarget(); if (LOG.isDebugEnabled()) { LOG.debug(request); } int lPermission = permissionExists(target) ? PDPResponse.DECISION_PERMIT : PDPResponse.DECISION_DENY; PDPResponse response = new PDPResponse(lPermission, request); if (LOG.isDebugEnabled()) { LOG.debug(response); } resColl.add(response); } return resColl; }
private void store(final PDPRequest request, final PDPResponse resp) { if (m_stopped || m_maxCacheTime < 0) { return; } // store copy to ensure no memory leeks because of pdp responses/requests! CacheEntry entry = new CacheEntry(new PDPResponse(resp.getDecision(), new PDPRequest(new Target()), resp.getObligations())); String key = getCacheKey(request); synchronized (m_lock) { int size = m_decisionCache.size(); if (size > m_maxEntries) { // don't insert if limit is exceeded! return; } m_decisionCache.put(key, entry); } }
public String toString() { final StringBuffer sb = new StringBuffer(); sb.append("org.n52.security.decision.PDPRequest"); sb.append("{target=").append(getTarget()); sb.append(", environment=").append(getEnvironment()); sb.append('}'); return sb.toString(); } }
PDPRequest request = new PDPRequest(target); reqCollection.add(request); ids.addItem(new TargetItem(prop, resourceId)); PDPRequest requestForResponse = response.getRequest(); Target t = requestForResponse.getTarget(); String targetResource = t.getResourceId();
public int hashCode() { int result; result = m_decision; result = 31 * result + m_request.hashCode(); result = 31 * result + m_obligations.hashCode(); return result; }
public boolean equals(final Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } final PDPResponse that = (PDPResponse) o; if (m_decision != that.m_decision) { return false; } if (!m_obligations.equals(that.m_obligations)) { return false; } if (!m_request.equals(that.m_request)) { return false; } return true; }
PDPRequest request = new PDPRequest(target); reqCollection.add(request); ids.addItem(new TargetItem(foiID, resourceId)); PDPRequest requestForResponse = response.getRequest(); Target t = requestForResponse.getTarget(); String targetResourceId = t.getResourceId();
PDPRequest request = new PDPRequest(target); reqCollection.add(request); ids.addItem(new TargetItem(prop, resourceId)); PDPRequest requestForResponse = response.getRequest(); Target t = requestForResponse.getTarget(); String targetResourceId = t.getResourceId();
Target t = requestForResponse.getTarget(); String id = (String) allIds.getItem(t.getResourceId()).getAppItem(); if (!response.isPermit()) {
PDPRequest request = new PDPRequest(target); reqCollection.add(request);
/** * Creates a unique key from the request object. * */ private String getCacheKey(final PDPRequest req) { // here we try to generate a hopefull unique "cachekey" // using the id of the user // the environment attributes, // and the the resource and action id String resource = req.getTarget().getResourceId(); String action = req.getTarget().getActionId(); String env = String.valueOf(req.getEnvironment().hashCode()); SubjectPrincipalAnalyzer principalAnalyzer = new SubjectPrincipalAnalyzer(req.getTarget().getSubject()); String userid = principalAnalyzer.getUsername(); LicenseReference licref = LicensingUtils.getLicenseReference(req.getTarget().getSubject()); String licId = licref != null ? licref.getLicenseId() : ""; if (userid == null) { userid = "#anonymous#"; } String key = new StringBuffer() .append("U:").append(userid) .append(";R:").append(resource) .append(";A:").append(action) .append(";L:").append(licId) .append(";E:").append(env).toString(); if (LOG.isTraceEnabled()) { LOG.trace("generate hash-key <" + key + "> for request <" + req + ">"); } return key; }
TargetItem item = (TargetItem) iterator.next(); Target target = new Target(subject, (String) item.getTargetId(), actionId); PDPRequest request = new PDPRequest(target); reqCollection.add(request); Target t = requestForResponse.getTarget(); String id = (String) targetItems.getItem(t.getResourceId()).getAppItem(); for (int i = 0; i < nl.getLength(); i++) {
Target t = requestForResponse.getTarget(); String id = (String) allIds.getItem(t.getResourceId()).getAppItem(); if (!response.isPermit()) {
PDPRequest request = new PDPRequest(target); reqCollection.add(request);
private RequestDocument convert52nRequestToXACMLRequest(final PDPRequest pRequest) throws XmlException { RequestDocument lDoc = RequestDocument.Factory.newInstance(); RequestType lRequest = lDoc.addNewRequest(); Target target = pRequest.getTarget(); convertEnvironmentToXACMLEnvironment(pRequest.getEnvironment(), lRequest); convertSubjectToXACMLSubject(target.getSubject(), lRequest); convertLicensePrincipalOfSubjectToXACMLEnvironment(target.getSubject(), lRequest); // todo: support complex resource and action attributes and not only id's convertResourceToXACMLResource(target.getResourceId(), lRequest); convertActionToXACMLAction(target.getActionId(), lRequest); // type is ignored ! return lDoc; }
PDPRequest pdpRequest = new PDPRequest(target); reqCollection.add(pdpRequest); PDPRequest requestForResponse = response.getRequest(); if (!response.isPermit()) { Target t = requestForResponse.getTarget();
int lDecision = to52nDecision(lResult.getDecision()); String lResourceId = pRequest.getTarget().getResourceId(); if (!lResourceId.equals(lResult.getResourceId())) {
PDPRequest request = new PDPRequest(target); reqCollection.add(request);
TargetItem item = (TargetItem) iterator.next(); Target tTarget = new Target(pSubject, (String) item.getTargetId(), actionId); PDPRequest request = new PDPRequest(tTarget); reqCollection.add(request); PDPRequest requestForResponse = response.getRequest(); if (response.isPermit()) { Target t = requestForResponse.getTarget(); String layerName = (String) availableLayers.getItem(t.getResource()).getAppItem(); allowedLayers.add(layerName);
Target t = requestForResponse.getTarget(); String id = (String) allIds.getItem(t.getResourceId()).getAppItem(); if (response.isPermit()) {