Skip to content
Cyril Dangerville edited this page Jun 29, 2017 · 21 revisions

(draft)

Policy Providers are PDP extensions to get policies for evaluation from various kinds of policy repositories: local filesystem, remote services, databases, etc.

Out-of-the-box Policy Providers

The following Policy Providers are provided out-of-the-box in open source:

ID Description XML schema location Required Maven dependency Implementation class
{http://authzforce.github.io/core/xmlns/pdp/5.0} StaticRefPolicyProvider Gets policies from a list of URLs to XACML Policy(Set) documents, each URL using any of the following schemes: http, https, file, jar, classpath. classpath:pdp.xsd org.ow2.authzforce/authzforce-ce-core-pdp-engine/9.0.1 (and later) org.ow2.authzforce.core.pdp.impl.policy.CoreRefPolicyProviderModule
{http://authzforce.github.io/core/xmlns/test/3} MongoDBBasedPolicyProvider Gets policies from a MongoDB database. classpath:org.ow2.authzforce.core.pdp.testutil.ext.xsd org.ow2.authzforce/authzforce-ce-core-pdp-testutils/9.0.1 (and later) org.ow2.authzforce.core.pdp.testutil.ext.MongoDBRefPolicyProviderModule

Column info:

  • ID: XML {namespace}type to use to instantiate the extension in a PDP configuration file. The namespace is used in the PDP extensions schema to enable the extension, i.e. in the schema whose location is passed as extensionXsdLocation argument to BasePdpEngine.getInstance(...), you must have an entry: <xs:import namespace="http://authzforce.github.io/core/xmlns/test/3" /> (where xs would be the prefix associated to namespace http://www.w3.org/2001/XMLSchema), except for extensions implemented in package org.ow2.authzforce.core.pdp.impl;
  • XML schema location: uri value to be used in the XML catalog entry, i.e. in the XML catalog whose location is passed as catalogLocation argument to BasePdpEngine.getInstance(...), you must have an entry: <uri name="{the XML namespace in *ID* column}" uri="{the XML schema location}" /> , except for extensions implemented in package org.ow2.authzforce.core.pdp.impl. Follow the link to go to the XML schema where the extension's configuration format (XML type definition) is defined.

Clone this wiki locally