目前针对一些比较常规的权限分配解决放方案如下:
注: 下面是各个用户对应的用户组和对应的功能操作权限
张三 校管理员 初始化配置--->初始化年级学科、管理班级、任课管理
李四 老师 班级管理---->我管理的班级、我任教的班级
王五 老师 班级管理---->我管理的班级、我任教的班级
针对以上设计,可以满足常规的功能模块权限分配操作,但是存在的缺陷是针对功能模块级别多的权限分配不太适合,因为这种设计只针对两级功能模块划分的管理权限设置,针对多级比如:
班级管理<一级>
|
|——我管理的班级<二级>
| |
| |——分组管理<三级>
| | |
| | |——新建分组<四级>
| | |——查看分组
| |——学生管理
| | |——批量导入学生
| | |——导出密码表
| | |——删除
| | |——修改
| | |
| | |
| |——座次管理
| | |——
目前针对上面的权限设计只能控制到第二级的功能,可以考虑把上面的action(权限表)和actioncolumn(权限控制表)合并为一个表,用来控制所有的功能权限栏目,就类似与discuz那个common_district表中存放省、市、县的那种存储结构,这样的话可以支持多级模块权限功能分配。