权限控制用 casbin 还是 ladon? casbin 看的头疼

查看 55|回复 3
作者:nobject   
纠结使用哪个,个人更倾向于 ladon, 但如果授权策略多的话,ladon 会不会慢?
ladon 的用法:
{
  "description": "One policy to rule them all.",
  "subjects": ["users:", "users:maria", "groups:admins"],
  "actions" : ["delete", ""],
  "effect": "allow",
  "resources": [
    "resources:articles:",
    "resources:printer"
  ],
  "conditions": {
    "remoteIP": {
        "type": "CIDRCondition",
        "options": {
            "cidr": "192.168.0.1/16"
        }
    }
  }
}
acl 的功能肯定都实现了
主体:可以用前缀代表用户,用户组,角色等, 也算是简单实现了 rbac 吧
条件:一些环境属性,可以通过 condtions 设置主体的属性或者资源的属性, 也算是实现了 abac 吧?
ladon 整体的语义与 aws 的特别像,是不是如果我要做一个类似 aws 的权限操作方式,用这个比用 casbin 更简单易用。
casbin 有 model, policy 两个概念,policy 包含策略信息,model 是规则匹配模板,
如果我一个用户,他既授权了一些带属性的(比如 ip 的判断),类似 abac ,又授权了 rbac 的模型, 那就得用两个 model 与两个 policy?
那 casbin 相比 ladon 来说,他的主要优势在哪呢?灵活性更强?性能更好?

ladon, casbin, policy, resources

israinbow   
用 casbin 会使你变得不幸.
learningman   
casbin 的性能不太行的,特别是 rbac
规则多的情况下最差 O(n^2)
YVAN7123   
@casbin
您需要登录后才可以回帖 登录 | 立即注册

返回顶部