WSO2 Balana 实现
欢迎使用 WSO2 Balana
Balana 是 WSO2 基于Sun 的 XACML 实现开发的开源 XACML 规范实现。正如其名称所暗示的那样,Balana(堡垒)是一个强大的授权引擎,可以将授权从应用程序中外部化。凭借其模块化架构,您可以轻松快速地开发出功能齐全的授权解决方案。
Balana 支持的规范
Balana 支持 XACML 3.0、2.0、1.1 和 1.0 规范。
安装
在您的 pom 文件中添加以下依赖项。
<dependency>
<groupId>org.wso2.balana</groupId>
<artifactId>org.wso2.balana</artifactId>
<version>1.1.12</version>
</dependency>
入门
您可以轻松创建一个基于文件的策略存储库的 Balana 默认实例,如下所示:
private static Balana balana;
private static void initBalana() {
try{
// 使用基于文件的策略存储库。因此将策略位置设置为系统属性
String policyLocation = (new File(".")).getCanonicalPath() + File.separator + "resources";
System.setProperty(FileBasedPolicyFinderModule.POLICY_DIR_PROPERTY, policyLocation);
} catch (IOException e) {
System.err.println("无法定位策略存储库");
}
// 创建 Balana 的默认实例
balana = Balana.getInstance();
}
运行示例
- 安装 Java SE Development Kit 1.8
- 安装 Apache Maven 3.x.x(https://maven.apache.org/download.cgi#)
- 从 https://github.com/wso2/balana.git 克隆代码或下载源代码
- 在 balana 目录下运行
mvn clean install
- 进入 balana/modules/balana-samples/
<选定的示例>
- 执行运行脚本
以下是包含的示例:
许可证
Sun 的 XACML 实现的许可证可以在这里找到。但是 WSO2 Balana 实现是根据 Apache2 许可证发布的。