嗨,我需要一个可以拥有多个子资源的策略。策略基于资源,其中顶级资源是客户,与之对应的子资源是 1.名字,2.姓氏
Customer --
-- 1. firstname
-- 2. lastname
如何使用WSO2身份服务器和Axiomatics Alfa插件实现此策略,或者是否有其他方法可以实现此策略。我需要一个政策结构和相同政策的请求。
答案 0 :(得分:1)
您的问题不是技术问题,而仅仅是建模问题。您需要就资源是什么以及资源层次结构达成一致。
我有时会做一个资源类型==客户记录(在您的情况下),然后是field-id == firstname。
我正在做的是引入2个属性来建模资源层次结构:
这是让事情发挥作用的一种简单方法。
编辑 - 样本政策:
policy documentAccess{
target clause resourceType=="document" and actionId=="view"
apply firstApplicable
rule viewSSN{
target clause fieldId=="ssn"
condition subjectId==assignedPerson
permit
}
rule viewBalance{
target clause fieldId=="balance"
condition subjectId==assignedPerson
permit
}
rule viewOtherFields{
target clause fieldSensitive == false
permit
}
}