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(); } }
/** * 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; }
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; }
Target t = requestForResponse.getTarget(); String id = (String) allIds.getItem(t.getResourceId()).getAppItem(); if (!response.isPermit()) {
Target t = requestForResponse.getTarget(); String id = (String) allIds.getItem(t.getResourceId()).getAppItem(); if (!response.isPermit()) {
int lDecision = to52nDecision(lResult.getDecision()); String lResourceId = pRequest.getTarget().getResourceId(); if (!lResourceId.equals(lResult.getResourceId())) {
Target t = requestForResponse.getTarget(); String id = (String) allIds.getItem(t.getResourceId()).getAppItem(); if (response.isPermit()) {
PDPRequest requestForResponse = response.getRequest(); Target t = requestForResponse.getTarget(); String targetResource = t.getResourceId();
PDPRequest requestForResponse = response.getRequest(); Target t = requestForResponse.getTarget(); String targetResourceId = t.getResourceId();
PDPRequest requestForResponse = response.getRequest(); Target t = requestForResponse.getTarget(); String targetResourceId = t.getResourceId();
Target t = requestForResponse.getTarget(); String id = (String) targetItems.getItem(t.getResourceId()).getAppItem(); for (int i = 0; i < nl.getLength(); i++) {
Target target = request.getTarget(); Set tPrincipals = target.getSubject().getPrincipals();
PDPRequest requestForResponse = response.getRequest(); if (!response.isPermit()) { Target t = requestForResponse.getTarget();
Target t = requestForResponse.getTarget(); Node processNode = (Node) allIds.getItem(t.getResourceId()).getAppItem(); processNode.getParentNode().removeChild(processNode);
PDPRequest requestForResponse = response.getRequest(); if (response.isPermit()) { Target t = requestForResponse.getTarget(); String layerName = (String) availableLayers.getItem(t.getResource()).getAppItem(); allowedLayers.add(layerName);
String resource = response.getRequest().getTarget().getResourceId();
Target t = requestForResponse.getTarget(); String id = (String) allProcessIdentifiers.getItem(t.getResourceId()).getAppItem(); throw new EnforcementServiceException("Denied process <" + id + "> requested ");
PDPRequest requestForResponse = response.getRequest(); if (!response.isPermit()) { Target t = requestForResponse.getTarget(); String targetResource = t.getResource(); TargetItem responseItem = itemsCollection.getItem(targetResource);
PDPRequest requestForResponse = response.getRequest(); if (!response.isPermit()) { Target t = requestForResponse.getTarget(); String targetResource = t.getResource(); TargetItem responseItem = itemsCollection.getItem(targetResource); lManipulator.trimQueryLayer((String) responseItem.getAppItem()); } else if (response.hasObligations()) { Target t = requestForResponse.getTarget(); String targetResource = t.getResource(); TargetItem responseItem = itemsCollection.getItem(targetResource);
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; }