An configuration file can be used to define the various policies and policy sets that the PDP can use for evaluation. The schema file driving the configuration is shown below.
<xs:schema>
<xs:element>
<xs:annotation>
<xs:documentation>Root Element for JBoss XACML</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType>
<xs:sequence>
<xs:element></xs:element>
<xs:element></xs:element>
</xs:sequence>
</xs:complexType>
<xs:element></xs:element>
<xs:complexType>
<xs:sequence>
<xs:element></xs:element>
<xs:element></xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType>
<xs:sequence>
<xs:element></xs:element>
<xs:element></xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType>
<xs:sequence>
<xs:element></xs:element>
</xs:sequence>
</xs:complexType>
<xs:element></xs:element>
<xs:complexType>
<xs:sequence>
<xs:element></xs:element>
</xs:sequence>
</xs:complexType>
<xs:element>
<xs:complexType>
<xs:sequence>
<xs:any></xs:any>
</xs:sequence>
<xs:attribute></xs:attribute>
</xs:complexType>
</xs:element>
<xs:complexType>
<xs:sequence>
<xs:element></xs:element>
</xs:sequence>
<xs:attribute></xs:attribute>
</xs:complexType>
</xs:schema>
The following is an example of a configuration file.
<ns:jbosspdp>
<ns:Policies>
<ns:PolicySet>
<ns:Location>test/policies/interop/xacml-policySet.xml</ns:Location>
<ns:Policy>
<ns:Location>test/policies/interop/xacml-policy2.xml</ns:Location>
</ns:Policy>
<ns:Policy>
<ns:Location>test/policies/interop/xacml-policy3.xml</ns:Location>
</ns:Policy>
<ns:Policy>
<ns:Location>test/policies/interop/xacml-policy4.xml</ns:Location>
</ns:Policy>
<ns:Policy>
<ns:Location>test/policies/interop/xacml-policy5.xml</ns:Location>
</ns:Policy>
</ns:PolicySet>
</ns:Policies>
<ns:Locators>
<ns:Locator>
</ns:Locator>
</ns:Locators>
</ns:jbosspdp>
As shown in the configuration file, you can define a policy set with enclosing policies. If you do not need any policy sets, but want to define 1 or more policies, you can do so. The location of a policy/policy set has to conform to the java.net.URL format (or you can provide a relative location as shown in the above configuration file).
The PDP makes use of PolicyLocator(s) for policies. Each of these policy locators are asked for a policy when a request is being evaluated. The default locator that is provided with JBossXACML is the org.jboss.security.xacml.locators.JBossPolicySetLocator
You will need to provide at least 1 locator.