基于现有XML编辑器作为插件实现XACML编辑器

时间:2011-06-16 12:24:19

标签: xml eclipse eclipse-plugin xacml alfa

这就是我今天早上想到的:

我现在需要定义很多XACML策略(这是一个XML应用程序)。 到目前为止,我已经使用了Eclipse提供的XML-Editor并定义了一些模板来简化操作。这很好用,但有些事情可以改进:

  • 如果内容辅助仅建议在我想要插入的地方实际允许的模板,那就太好了
  • 另一个简洁的功能是,当我“选项卡”到模板中定义的放置者时,有一个有效属性值列表

这实际上可行吗?我在这里读过你可以用编程方式定义自己的模板变量,这可能解决我遇到的第一个问题。

2 个答案:

答案 0 :(得分:2)

WSO2 Identity Server是一个基于sunxacml的开源授权引擎。 WSO2 Identity Server包含一个很好的XACML UI策略编辑器,可以很容易地用来创建复杂的XACML策略。我认为最好自己尝试一下。用户不希望在XACML上有太多的知识来定义这些策略。但是您仍然希望通过手动过程定义属性值。它还有一个PIP层,用于插入任何属性查找器模块。因此,您可以从任何数据库,LDAP用户存储,Web服务等等中找到您的属性....还有决策缓存,策略缓存和PIP级别属性缓存以提高性能。您可以从http://wso2.org/下载WSO2 Identity Server,并参考https://svn.wso2.org/repos/wso2/trunk/carbon/components/identity/的实施源代码

答案 1 :(得分:0)

您还可以考虑Eclipse的ALFA插件,这是一个免费的插件。它远离XACML的XML表示法,并使用称为ALFA(Axiomatics Language for Authorization)的伪代码语言。 ALFA更易于理解,阅读和书写。这是一个例子:

    /**
     * A user can edit a document he/she owns
     */
    policy editDoc{
        target clause actionId=="edit" and resourceType=="document"
        apply firstApplicable
        rule ownersCanEdit{             
            permit
            condition document.owner==user.userId
        }
    }

您可以从here免费下载该插件。