这就是我今天早上想到的:
我现在需要定义很多XACML策略(这是一个XML应用程序)。 到目前为止,我已经使用了Eclipse提供的XML-Editor并定义了一些模板来简化操作。这很好用,但有些事情可以改进:
这实际上可行吗?我在这里读过你可以用编程方式定义自己的模板变量,这可能解决我遇到的第一个问题。
答案 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免费下载该插件。