Casbin 快速了入门

本文介绍了Casbin的PERM原模型和RBAC模型。PERM模型涉及subject、object、action和effect,通过策略和匹配规则决定请求是否放行。RBAC模型则将权限与角色关联,用户通过角色获取权限,包括正向授权和负向授权。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. PERM原模型

定义一个策略,定义一个匹配规则,通过请求参数与策略通过规则进行匹配,获得一个eft影响,拿到影响的结果,进到影响的表达式,返回一个布尔值。

1.1 基本参数

  • subject(sub访问实体)
  • object(obj访问的资源)
  • action(act访问方法)
  • eft(策略结果,一般为空,默认指定allow,还可以定义为deny,是硬编码写死,只能是这两个值)

1.2 模型介绍

  • Policy 策略 p={sub,obj,act,eft}

    • 策略一般存放在数据库,因为会有很多
  • Effect 影响

    • 他决定我们是否可以放行
    • e = some(where(p.eft == allow)) 这种情况下,我们的一个matchers匹配完成得到了allow那么这条请求将被放行
    • e = some(where(p.eft == allow)) && !some(where(p.eft == deny))
    • 这里的规则是定死的
      • some(where (p.eft == allow)) 能返回来一条allow的
      • !some(where (p.eft == deny)) 没有一条是deny的
      • some(where (p.eft == allow)) && !some(where (p.eft == deny)) 能返回allow并且没有阻止的
      • priority(p.eft) || deny
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值