如果在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"}
每当添加新主题时,总是必须添加是很困难的。我宁愿只为实际受到限制的主题添加规则。