/abc.xacml

This code implements the XACML 1.0/1.1/2.0/3.0 specification

Primary LanguageC#

abc.xacml

This is a .NET library was to implement the XACML specification released by Oasis. Library is under the GNU LGPLv3 licence.

The XACML defines a declarative access control policy language implemented in XML and a processing model describing how to evaluate access requests according to the rules defined in policies.

Features:

  • This code implements XACML 1.0/1.1/2.0/3.0-wd17
  • Extensible type systems
  • Extensible functions
  • Extensible algorithms
  • Extensible XPath versions
  • Policy repositories

Install with NuGet package manager

NuGet status

PM> Install-Package Abc.Xacml

abc.xacml.geo

This is a .NET library was to implement the GeoXACML specification released by OGC.

Features:

  • This code implements GeoXACML 1.0.0

Install with NuGet package manager

NuGet status

PM> Install-Package Abc.Xacml.Geo

Usage example

XmlDocument request = new XmlDocument();
request.Load("request.xml")

XmlDocument policy = new XmlDocument();
policy.Load("policy.xml")

var serialize = new Xacml30ProtocolSerializer();

XacmlContextRequest requestData;
using (XmlReader reader = XmlReader.Create(new StringReader(request.OuterXml))) {
    requestData = serialize.ReadContextRequest(reader);
}

EvaluationEngine engine = EvaluationEngineFactory.Create(policy, null);

XacmlContextResponse evaluatedResponse = engine.Evaluate(requestData, request);

Requirements

You'll need .NET Framework 4.0 or later to use the precompiled binaries. To build library, you'll need Visual Studio 2017. To run tests, you'll need NUnit Test Adapter.