业务环境用户权限管理
陈述需求:
- 不同职责的人员,对于系统操作的权限应该是不同的
- 可以对“组”进行权限分配
- 权限管理系统应该是可扩展的
- 满足业务系统中的功能权限
关于设计:
借助NoahWeb 的动作编程理念,在设计阶段,系统设计人员无须考虑程序结构的设计,而是从程序流程以及数据库结构开始入手。为了实现需求,数据库的设计可谓极其重要,无论是“组”操作的概念,还是整套权限管理系统的重要性,都在于数据库的设计。
分析数据库的过程:
- 首先:根据需求可以抽离出三项对象关系:
- 三张飙之间的关系是多对多的,一个权限可能同时属于多个管理组,一个管理组也可能包含多个权限。同样的道理,一个人员可能同时属于多个管理组,而一个管理组也可能同时包含多个人员:
- 由于这三张表之间存在着多对多的关系,那么他们之间的交互,最好使用另外两张表来完成。而这两张表起着映射的作用,前者映射了权限表与管理组表之间的交互。后者映射了人员表与管理组表之间的交互。
- 另外,还需要一章表来控制系统运行是左侧菜单中的权限分栏,也就是“权限分栏表”
- 另外,人员表中抽离出两张外键表,分别记录 部门 , 职位信息
- 根据上面的分析,我们进行数据库结构设计如下:
最终数据库字段设计
- 人员表
- 部门表
- 职位表
- 权限分栏表
- 权限表
- 组别表
- 组别人员关联表
- 权限组别关联表