RBAC 模型如何定义权限,以及处理的时机?
資深大佬 : seyoatda 9
目前用 golang 的 casbin 库来实现 RBAC 模型做基本的权限控制。有几下几点:
- 如果需要一个超级管理员,就是那种不能创建不能删除的、有所有权限的用户,这个用户的权限操作怎么能合并入普通角色的处理逻辑中呢?比如现在创建一个用户,我就是直接判断如果他的角色是超级管理员就不允许创建。但是感觉这种方式有点 hard code 的感觉。
- 权限的粒度。比如修改自己的密码和修改别人的密码这种请求肯定是不同的权限操作。但是这种权限的判断如果放在业务逻辑代码中是否侵入性会过强?
大佬有話說 (5)