0

如果在CASL中未为给定主题提供任何规则,则检查该主题的能力始终返回 false。

例如

import { Ability } from '@casl/ability';

const ability = new Ability({
  action: "read", subject: "FirstSubject",
  // no rule for SecondSubject
});

ability.can("read", "FirstSubject");    // true
ability.can("write", "FirstSubject");   // false

ability.can("read", "SecondSubject");   // false  <-- These two lines should
ability.can("write", "SecondSubject");  // false  <-- return `true`

是否有可能改变这种行为,使true没有任何规则的对象恢复能力?

在我的用例中,我有大量的主题,并且可以动态添加新主题。{ action: "manage", subject: "NewSubject"}每当添加新主题时,总是必须添加是很困难的。我宁愿只为实际受到限制的主题添加规则。

4

1 回答 1

0

根据与 CASL 的作者的聊天,这是不可能实现的。

于 2021-10-14T11:06:18.093 回答