基于上述情况,考虑到“权利标签”的权限设置方式,以“权限”为是视野和最小颗粒度,当做一个个标贴,贴给谁,谁就有权限,撕掉标签,就丧失权利,初步设想如下:
many_tags:[candoA,candoB,candoC,candoD,candoE,candoF....]
Permisson1_tag = candoA
Permisson2_tag = candoB
Permisson3_tag = candoA+B
= permission1 + permission2
Super_permisson = candoALL
Manager_role`s permission = cando A + cando B + Cando C
Teacher_role`s permission = Professor_role`s permission - candoB (教师角色权限为:教授角色的权限标签中去掉权限“candoB”)
= cando M + cando N + Cando L(另一种表达:教师角色权限为能做M + N +L)
某一个教师需要临时增加阅卷权限
TeacherA`s permisson_in_24_hour = TeacherA`s current permisson + cando R(阅卷标签)
建立儿童教师组的权限:
Children_teacher_group`s permission = candoA+B+C+D+X+Y -M-P
或者另一种表达 = Manager_role`s permission - candoQ - candoR
将某一个具体的用户临时纳入儿童教师组
push_zhangsan_to_Children_teacher_group_in_20_days
在20天内,张三获得儿童教师组的全部权限
以上是初步思考,很多不成熟之处,供探讨。