Repository: airavata Updated Branches: refs/heads/develop 5025f4f42 -> 29e666a5f
rolling back Project: http://git-wip-us.apache.org/repos/asf/airavata/repo Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/29e666a5 Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/29e666a5 Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/29e666a5 Branch: refs/heads/develop Commit: 29e666a5fd4d505398b6b570711c619813d0d2e2 Parents: 5025f4f Author: scnakandala <[email protected]> Authored: Thu Jul 28 16:31:13 2016 -0400 Committer: scnakandala <[email protected]> Committed: Thu Jul 28 16:31:13 2016 -0400 ---------------------------------------------------------------------- .../server/security/xacml/DefaultXACMLPEP.java | 45 ++++++++++---------- 1 file changed, 23 insertions(+), 22 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/airavata/blob/29e666a5/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/xacml/DefaultXACMLPEP.java ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/xacml/DefaultXACMLPEP.java b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/xacml/DefaultXACMLPEP.java index 77ea7e0..f1c8884 100644 --- a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/xacml/DefaultXACMLPEP.java +++ b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/security/xacml/DefaultXACMLPEP.java @@ -20,6 +20,7 @@ */ package org.apache.airavata.api.server.security.xacml; +import org.apache.airavata.common.utils.Constants; import org.apache.airavata.model.security.AuthzToken; import org.apache.airavata.security.AiravataSecurityException; import org.apache.axis2.AxisFault; @@ -28,6 +29,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.w3c.dom.Document; import org.w3c.dom.Node; +import org.wso2.carbon.identity.entitlement.stub.EntitlementServiceException; import org.wso2.carbon.identity.entitlement.stub.EntitlementServiceStub; import org.wso2.carbon.utils.CarbonUtils; import org.xml.sax.SAXException; @@ -38,6 +40,7 @@ import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; import java.io.UnsupportedEncodingException; +import java.rmi.RemoteException; import java.util.Map; /** @@ -71,28 +74,26 @@ public class DefaultXACMLPEP { * @return */ public boolean getAuthorizationDecision(AuthzToken authzToken, Map<String, String> metaData) throws AiravataSecurityException { - //FIXME - return true; -// String decision; -// try { -// String subject = authzToken.getClaimsMap().get(Constants.USER_NAME); -// String action = "/airavata/" + metaData.get(Constants.API_METHOD_NAME); -// String decisionString = entitlementServiceStub.getDecisionByAttributes(subject, null, action, null); -// //parse the XML decision string and obtain the decision -// decision = parseDecisionString(decisionString); -// if (Constants.PERMIT.equals(decision)) { -// return true; -// } else { -// logger.error("Authorization decision is: " + decision); -// return false; -// } -// } catch (RemoteException e) { -// logger.error(e.getMessage(), e); -// throw new AiravataSecurityException("Error in authorizing the user."); -// } catch (EntitlementServiceException e) { -// logger.error(e.getMessage(), e); -// throw new AiravataSecurityException("Error in authorizing the user."); -// } + String decision; + try { + String subject = authzToken.getClaimsMap().get(Constants.USER_NAME); + String action = "/airavata/" + metaData.get(Constants.API_METHOD_NAME); + String decisionString = entitlementServiceStub.getDecisionByAttributes(subject, null, action, null); + //parse the XML decision string and obtain the decision + decision = parseDecisionString(decisionString); + if (Constants.PERMIT.equals(decision)) { + return true; + } else { + logger.error("Authorization decision is: " + decision); + return false; + } + } catch (RemoteException e) { + logger.error(e.getMessage(), e); + throw new AiravataSecurityException("Error in authorizing the user."); + } catch (EntitlementServiceException e) { + logger.error(e.getMessage(), e); + throw new AiravataSecurityException("Error in authorizing the user."); + } } /**
