我一直在使用WSO2 balana示例,我偶然发现了从XACML响应中获取建议的代码。
StringBuilder Advice = new StringBuilder();
List<Advice> advices = result.getAdvices();
for(Advice advice : advices){
List<AttributeAssignment> assignments = advice.getAssignments();
for(AttributeAssignment assignment : assignments){
Advice.append("Advice : " + assignment.getContent() +"\n\n");
}
}
obj1.Advice = Advice.toString();就像我想要得到义务一样,我怎么做呢?
发布于 2014-01-27 11:57:11
是的..你可以的。但是在这里,您需要将义务结果对象转换为相关的义务类型(XACML 2或XACML 3)。你可以在那里查一些“实例”。
List<ObligationResult> obligations = result.getObligations(); for(ObligationResult obligation : obligations){ if(obligation instanceof org.wso2.balana.xacml3.Obligation){ List<AttributeAssignment> assignments = ((org.wso2.balana.xacml3.Obligation)obligation).getAssignments(); for(AttributeAssignment assignment : assignments){ System.out.println("Obligation : " + assignment.getContent() +"\n\n"); } } }
https://stackoverflow.com/questions/21379658
复制相似问题