0

我想以编程方式生成 XACML 2.0 策略。有没有办法做到这一点或将一组 XACML 3.0 策略转换为 XACML 2.0 策略?

谢谢

4

1 回答 1

1

是的,是的。

首先,您能否以编程方式生成 XACML 2.0 策略?是的你可以。这同样适用于 XACML 3.0 或任何基于模式的 XML 内容。在 Java 中做到这一点的方法是使用 JAXB。

JAXB 将采用您编写的 XML 模式并创建一组与该模式相对应的类。JAXB 实用程序将创建用于操作 XML 的数据结构层次结构。(引用什么是 JAXB 以及我为什么要使用它?)。

只需为 JAXB 提供 XACML 2.0 和 XACML 3.0 模式,您将获得一组类,您可以使用这些类以编程方式创建 XACML 策略、请求和响应。

不过,关于转换,有几种可能的方法:

  • 使用 JAXB XACML 2.0 对象自己实现逻辑并转换为 JAXB XACML 3.0 对象
  • 编写 XSLT 来为您做这件事。XSLT 是一种接受 XML 模式(或模式的实例)并将该模式​​转换为几乎任何东西(网页、PDF,当然还有 XML)的语言。XSLT 非常适合从 XACML 2.0 转换到 3.0。
  • 让 XML 工具为您完成繁重的工作。在这个领域(将生成代码和 XSLT)最好的工具是 Altova 的 XML 套件(我不属于他们)。

HTH,大卫。

于 2014-04-06T21:42:25.460 回答