【问题标题】:CASL behavior if subject has no rules如果主题没有规则,则 CASL 行为
【发布时间】:2021-12-02 02:30:43
【问题描述】:

如果没有为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"} 是很困难的。 我宁愿只为实际受到限制的主题添加规则。

【问题讨论】:

    标签: javascript permissions rules subject casl


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-05
      • 2018-04-26
      • 1970-01-01
      • 2021-03-26
      • 1970-01-01
      • 2020-09-14
      • 2014-09-27
      • 2021-11-23
      相关资源
      最近更新 更多