Skip to content

wso2/balana

Folders and files

NameName
Last commit message
Last commit date
Oct 3, 2024
Oct 8, 2024
Mar 23, 2016
Dec 10, 2019
Dec 28, 2014
Feb 26, 2014
Apr 15, 2024
Dec 19, 2017
Oct 3, 2024
Sep 26, 2017
Oct 8, 2024
Oct 3, 2017

Repository files navigation

WSO2 Balana Implementation


Branch Build Status
master Build Status

Welcome to WSO2 Balana

Balana is WSO2's open source implementation of the XACML specification building on Sun's XACML Implementation. As the name suggests Balana(the fortress) is a powerful entitlement engine to externalize authorization from your applications. With it's modular architecture you can easily develop a fully fledged entitlement solution in no time.

Specifications Supported by Balana

Balana supports the XACML 3.0, 2.0, 1.1 and 1.0 specifications.

Installation

Add the following dependency to your pom.

<dependency>
    <groupId>org.wso2.balana</groupId>
    <artifactId>org.wso2.balana</artifactId>
    <version>1.1.12</version>
 </dependency>

Getting Started

You can easily create a default instance of Balana with a file based policy repository as follows.

private static Balana balana;

private static void initBalana() {

        try{
            // Using file based policy repository. so set the policy location as a system property
            String policyLocation = (new File(".")).getCanonicalPath() + File.separator + "resources";
            System.setProperty(FileBasedPolicyFinderModule.POLICY_DIR_PROPERTY, policyLocation);
        } catch (IOException e) {
            System.err.println("Can not locate policy repository");
        }
        // Create default instance of Balana
        balana = Balana.getInstance();
    }

Running Samples

  1. Install Java SE Development Kit 1.8
  2. Install Apache Maven 3.x.x(https://maven.apache.org/download.cgi#)
  3. Get a clone from https://github.com/wso2/balana.git or download the source
  4. Run mvn clean install from balana directory
  5. Move to balana/modules/balana-samples/<selected sample>
  6. Execute run script

Here are the samples included.

License

License of Sun's XACML implementation can be found at here. But WSO2 Balana implementation is released under Apache2 license.