Как получить работающее правило:
rule adminCanViewAllExams {
condition (integerOneAndOnly(my.company.attributes.subject.rights) & 0x00000040) == 0
permit
}
Подсветка синтаксиса жалуется, что не знает эти элементы:
- & (Это двоичная математическая операция)
- 0x00000040 (это шестнадцатеричное представление целого числа)
EDIT
(добавление комментария OP в вопросе)
Я хочу сохранить как можно больше в моем текущем приложении.То есть я не хочу сильно меняться в своей модели базы данных.Я просто хочу реализовать новую часть PEP и PDP.Итак, в настоящее время права пользователя хранятся в Long.Каждый бит в номере представляет собой право.Чтобы получить право, мы выполняем двоичную операцию, которая маскирует другие биты в LongМы могли бы переработать эту часть, но все же хорошо знать, как далеко заходит поддержка математических операций