V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
madNeal
V2EX  ›  Go 编程语言

casbin 真的好用么

  •  
  •   madNeal ·
    neal1991 · 2019-02-20 13:07:36 +08:00 · 17429 次点击
    这是一个创建于 2130 天前的主题,其中的信息可能已经有所发展或是发生改变。

    利用 casbin 做权限控制,网上一搜都是 casbin。但是真的就我自己用的来讲,我真的觉得 casbin 真的好晦涩难懂,而且那个配置也感觉不是特别好配。想用 casbin 做多租户得数据控制,但我实在理解不了那个数据是如何定义的。感觉其他的框架使用 casbin 也比较基础,用了一点点。

    以上只是我的一些个人观点,不知道大家有没有什么好的用法,可以实现这样得功能。

    9 条回复    2024-06-07 16:24:44 +08:00
    HarrisonZ
        1
    HarrisonZ  
       2019-02-20 13:12:17 +08:00   ❤️ 2
    https://github.com/ory/ladon 类似于 aws iam 的规则接口,比 casbin 易读多了。
    madNeal
        2
    madNeal  
    OP
       2019-02-20 13:17:31 +08:00
    @HarrisonZ 感谢,去学习下
    6diyipi
        3
    6diyipi  
       2019-02-20 14:30:58 +08:00
    不好, 看着就烦
    ryanking8215
        4
    ryanking8215  
       2019-02-20 16:58:43 +08:00
    没用过 casbin, 但是看过。
    乍一眼晦涩难懂,但仔细看核心就 2 个,一个是规则模板,一个是数据。规则模板就是你想用什么规则管理权限,ACL,RBAC 等;数据有各种 backend,例如文件,数据库等。

    casbin 把权限系统抽象出来了,你可以在你的业务系统中使用不同的 casbin 实例,例如前台业务权限和后台管理权限的管理方法是不同的。当然你也可以抛弃 casbin,在业务代码里自行处理权限。
    hsluoyz
        5
    hsluoyz  
       2019-03-10 10:41:30 +08:00   ❤️ 8
    我是 casbin 作者。说两点:

    1 ) casbin 确实很复杂,但是表达能力也很强。如果你的权限需求很复杂,怎么实现都会复杂, 复杂性不可能凭空降低。而 casbin 能够帮你把代码实现上的复杂性,转换为 Casbin 配置上的复杂性,相比而言已经好多了。AWS IAM 类的策略表达能力很捉急。

    2 ) casbin 有中文 QQ 群可以答疑,作者也是中国人,群里有些中文资料。如果要用 ladon
    等国外的库,答疑成本就高多了

    3 ) QQ 群号在 github 最下面
    ecoolper
        6
    ecoolper  
       2019-09-03 21:46:58 +08:00
    对 casbin 表示关注
    dodo2012
        7
    dodo2012  
       2019-09-30 17:37:23 +08:00
    用了,感觉还好吧,看下文档就可以用起来,但如果和系统对接起来,保存在数据库,加上自由配制就麻烦些
    Loocor
        8
    Loocor  
       2023-06-06 00:09:20 +08:00 via iPhone
    实话说,我还是比较倾向楼主的感受。casbin 的文档学术味太浓了,反而具体怎么用,缺少清晰明了无杂音的介绍。
    作为近似轮子的对比,sa-token 的文档直接明了,是啥,想达到什么目的,该怎么做,看着目录很快就能找到。
    Casbin 我想应该也很强大,但文档中概念术语简写满天飞,伪代码和不完整的样本代码混杂,真的看起来很吃力。
    前面作者回答强调本地中文服务的优势,但现在看 casbin 官网中文文档明显的机翻味,而且感觉没校对,policy 一会儿叫策略一会儿叫政策,看起来太别扭了。
    再就是右下角销售 James 太敬业了,每次进入页面他都要展开弹窗问我一次🤣
    potcode99
        9
    potcode99  
       196 天前
    @Loocor 实现一个最基础的基于 owner 资源权限管控的需求都很难入门。隔了几年,好几次回头看还是看不明白。文档基本都在讲资源继承的鉴权...一般场景反而讲的少

    1. 模型定义晦涩不直观,p 和 r 还能理解,到了 g 和 e 那块的时候完全就不知道在干啥了。既然 g 的作用是进行 graph 查找,为啥要定义两个 g ,还取名 g2...
    2. 设计上没有做责任分离,把各种 policy 混杂在一起,rbac 和 abac 定义混在一起,加重了认知负担

    说到底还是配置的表达能力不行,可能它的功能很强大,只是我没弄懂。但是采纳进项目的认知成本太高
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2719 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 14:23 · PVG 22:23 · LAX 06:23 · JFK 09:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.