如何获得这样的规则:
rule adminCanViewAllExams {
condition (integerOneAndOnly(my.company.attributes.subject.rights) & 0x00000040) == 0
permit
}
语法荧光笔抱怨它不知道这些项目:
- & (这是一个二进制数学运算)
- 0x00000040(这是整数的十六进制表示)
编辑
(在问题中添加 OP 的评论)
我想尽可能多地保留在我当前的应用程序中。意思是,我不想对我的数据库模型进行太多更改。我只想实现新的 PEP 和 PDP 部分。所以,目前用户的权限是存储在一个 Long 中的。数字中的每一位代表一个权利。为了得到正确的结果,我们做了一个二进制 & 操作,它掩盖了 Long 中的其他位。我们可能会重新设计这部分,但仍然很高兴知道对数学运算的支持有多远