Search in sources :

Example 16 with RequestType

use of oasis.names.tc.xacml._3_0.core.schema.wd_17.RequestType in project ddf by codice.

the class XacmlPdp method isPermitted.

protected boolean isPermitted(RequestType xacmlRequest) {
    boolean permitted;
    ResponseType xacmlResponse;
    try {
        LOGGER.debug("Calling PDP to evaluate XACML request.");
        xacmlResponse = pdp.evaluate(xacmlRequest);
        LOGGER.debug("Received response from PDP.");
        permitted = xacmlResponse != null && xacmlResponse.getResult().get(0).getDecision() == DecisionType.PERMIT;
        LOGGER.debug("Permitted: {}", permitted);
    } catch (PdpException e) {
        LOGGER.debug(e.getMessage(), e);
        permitted = false;
    }
    return permitted;
}
Also used : ResponseType(oasis.names.tc.xacml._3_0.core.schema.wd_17.ResponseType) PdpException(ddf.security.pdp.realm.xacml.processor.PdpException)

Aggregations

RequestType (oasis.names.tc.xacml._3_0.core.schema.wd_17.RequestType)14 Test (org.junit.Test)12 KeyValueCollectionPermission (ddf.security.permission.KeyValueCollectionPermission)9 AttributesType (oasis.names.tc.xacml._3_0.core.schema.wd_17.AttributesType)6 AttributeType (oasis.names.tc.xacml._3_0.core.schema.wd_17.AttributeType)5 AttributeValueType (oasis.names.tc.xacml._3_0.core.schema.wd_17.AttributeValueType)5 ArrayList (java.util.ArrayList)4 ObjectFactory (oasis.names.tc.xacml._3_0.core.schema.wd_17.ObjectFactory)4 ResponseType (oasis.names.tc.xacml._3_0.core.schema.wd_17.ResponseType)4 File (java.io.File)3 StringWriter (java.io.StringWriter)3 Writer (java.io.Writer)3 HashMap (java.util.HashMap)3 List (java.util.List)3 JAXBContext (javax.xml.bind.JAXBContext)3 Marshaller (javax.xml.bind.Marshaller)3 XmlParser (org.codice.ddf.parser.xml.XmlParser)3 KeyValuePermission (ddf.security.permission.KeyValuePermission)2 PdpException (ddf.security.pdp.realm.xacml.processor.PdpException)1 CollectionPermission (ddf.security.permission.CollectionPermission)1