oa权限设计
来源:互联网 发布:淘宝客服规则大全 编辑:程序博客网 时间:2024/05/01 15:10
物理数据模型图如下:
物理数据模型图
根据以上设计思想,权限管理总共需要以下基本表:
tb_User:用户信息基本表;
tb_Department:部门表;
tb_Company:公司表;
tb_Module:系统模块表;
tb_Action:系统中所有操作的动作表;
tb_Permit:由tb_Module与tb_Action两表结合产生的系统基本权限表;
tb_Permit_Group:权限组表,将一模块的中的所有权限划分一个权限组中,可以通过权限组授予用户权限;
tb_Role:角色表,基本权限的集合。无上级与下级之分;
tb_Position:职位表,有上级与下级之分;
tb_Project:项目组表,
tb_Role_Permit:角色授权表;
tb_Postion_Permit:职位授权表;
tb_Project_Permit:项目授权表;
tb_Project_User:项目成员表,IsLead字段代表此成员为项目组长;
tb_Postion_User:职位成员表;
tb_User_Permit:用户授权表,用户ID与角色、职位、项目及直接授予的权限串表;
权限的产生:
由tb_Module中的ModuleCode与tb_Action中的ActionCode组成
权限代码PermitCode=ModuleCode+ActionCode。
实例:ModuleCode=0101,ActionCode=01,则PermitCode=010101。
权限值则有ModuleValue与ActionCode组合而成,采用下划线来连接。
实例:ModuleValue=Sys_User,ActionValue=AdD,PermitValue= Sys_User_Add
权限组:
包括一组同一模块下的权限的组合,如管理用户包括基本的权限:添加、删除、修改、查看等,将这些组合起来构成一个用户组——“用户管理”权限组。其它类似。只是为了更方便的查看系统权限与权限的分配。
实例:如管理用户的权限代码为010101à查看用户,010102à添加用户,010103à删除用户,010104à修改用户,010105à审核用户等,将这些基本权限组合起来一个集合而构成了“用户管理”权限组。
角色、职位、项目:
也就是按特定的需要划分一种权限的集合。使用角色授权表、职位授权表、项目授权表来实现。授权表中存放的是权限代码PermitCode,而不是权限组的GroupCode代码。
用户授权:
由用户授权表来实现,用户授权表中的RoleCode、PositionCode、ProjectCode分别是角色表中RoleCode组成的串、职位表PositionCode组成的串、ProjectCode组成的串。与角色授权表中的角色代码RoleCode、职位授权表中PositionCode、项目授权表中的ProjectCode不对应(不是主表与从表之间外键关系)。
从而能够实现了一个用户可以拥有多个角色、多个职位、多个项目的情况。
用户授权表中的PermitCode为直接授权的权限代码串,直接给用户分配权限。
实例:
用户ID为UserId=1的用户权限授权表的记录为:
RoleCode=001,003
PostionCode = 001,002
ProjectCode=001,005
PermitCode = 010101,020102
表明此用户拥有两个角色,代码为001和003,并继承这两个角色的权限;
担任两个职位,代码为001与002,并继承两个职位的权限;
属于两个项目组中的成员,项目代码为001与005,并继承两个项目中的权限。
直接指定给用户的权限为010101与010102这两个权限代码的权限
用户权限字符串:
根据用户授权表的角色代码、职位代码、项目代码得到权限字符串及表中直接分配的权限字符串组合成一个用户的所有权限字符串集合。
转载地址:http://www.cnblogs.com/jenry/archive/2006/08/29/489515.html
- OA权限系统设计
- oa权限设计
- OA系统权限模型设计
- oa系统设计---如何设计权限
- OA系统权限管理设计(上)
- OA权限管理设计的实现 下
- OA系统权限管理设计(转载)
- Web OA系统 - 权限管理设计
- OA项目之权限设计②
- OA项目之权限设计③
- OA系统 权限管理的设计流程
- OA 权限
- OA权限管理
- OA权限管理
- oa权限管理
- OA之权限管理
- 3、OA权限管理
- OA 权限控制
- ListView下拉列表控件
- 【Java并发编程】之十八:第五篇中volatile意外问题的正确分析解答(含代码)
- 内存泄露从入门到精通三部曲之排查方法篇
- 移动端报表如何获取当前地理位置
- 请你准备好了在培训——培训即将结束的学生
- oa权限设计
- hadoop streaming 版本兼容问题
- Android中一些常用的第三方特效架包集合
- 用HBuild生成APP启动页面准备
- ORACLE ROWNUM详解
- 工作细节
- Android 系统 build
- 各种图片格式(BMP,JPG, GIF,PNG, TGA) 简单介绍
- 小白应该如何从切入互联网