该怎么解决这样的复杂条件角色系统的建模?

2018-10-11 09:42:03 +08:00
 abcbuzhiming
很多带有用户功能的系统,都会额外的搭配一套用户组(角色),权限系统,一般来说,我们用用户组划分用户群,然后把权限赋予用户组,这样一个用户——用户组——权限的结构就搭建起来了。
这种结构能适应不太复杂的环境,比如一个企业下面有若干个部门,每个部门一个用户组就行了,但是我在实践中遇到了新的情况,在一套系统里,有的时候用户组非常简单,用的用户组却受到复杂的额外条件约束,比如,在某个学院里,学校有若干个部门,每个部门就是一个用户组,这是最简单的情况,但是额外的,学校要求我们设置某种信息员用户组,每个专业的每个年级,各有 1 名信息员;再比如他们有院级督导,每个院 1 人;还有班级督导,每个班一人。。。。
以上只是举例,我感觉像这样的系统里,用简单的用户组来建立模型无法适配用户组带有条件约束的情况,如果硬性的给用户组带上条件约束,又不够通用,如果又出现了新的条件约束,需要对用户组进行添加功能时,改动代价很大。有没有更通用的设计方案?
2776 次点击
所在节点    程序员
21 条回复
hsluoyz
2019-07-13 14:28:29 +08:00
Casbin 实现了一套 RBAC with Domains 模型,应该可以满足复杂角色建模问题: https://casbin.org

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/496574

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX