Casbin = way to authorization
A place for Casbin developers and users
Sign Up Now
For Existing Member  Sign In
Choose theme
Default ✅
v2ex-zhihu-theme 
lidongtony
Casnode  ›  Casbin

关于Casbin用户权限控制的设计,如果用户数量很大都要放在rules表里做映射吗?

  •  
  •  
    lidongtony · 3 years ago · 532 hits 
    This is a topic created 1198 days ago, the information in it may have changed.

    现有的管理系统包含了用户角色的权限控制,使用了 Casbin 做 RBAC 的权限节点管理,如果用户量达到上百万,岂不是都要在 rules 表中加入对应的用户 ID, 用户组的映射关系?想想都感觉好傻啊,如果把用户组存在用户表的字段中,就失去了 Casbin 的很多原生方法。请问大神有什么好的建议吗?

    532 hits  ∙  0 favorites  
      Tweet Weibo Ignore 
    3 replies   2021-10-29 20:39:55 +08:00
    hsluoyz
    hsluoyz3 years ago

    自己没有改过权限的用户,可以只存一套默认权限,改了的再另存

    tuyunlei
    tuyunlei3 years ago

    @hsluoyz 我也遇到了同样的问题,但是按你这样做的话,是不是我需要独立于 casbin 之外,自己去管理和判断哪些用户改过权限,哪些没改过?

    tuyunlei
    tuyunlei3 years ago

    我想了一个办法,不知道用起来怎么样

    首先将默认权限的 policy 主体设为 default

    然后 matcher 里对角色的匹配从

    g (r.user, p.user)

    改为

    (g (r.user, p.user) || p.user == 'default')

    About   ·   FAQ   ·   API   ·   Mission   ·   Advertise   ·   Thanks   ·   Tools   ·   20 Online   Highest 40   ·     Select Language  ·     Select Editor
    Community of Creators
    World is powered by code
    VERSION: 2c477f2 · 79ms · UTC 03:11 · PVG 11:11 · LAX 20:11 · JFK 23:11
    ♥ Do have faith in what you're doing.