预览加载中,请您耐心等待几秒...
1/5
2/5
3/5
4/5
5/5

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

基于RBAC权限模型的设计与思考 需求:1)不同的用户有不同的操作权限 2)每个部门都有相应的权限,上级自动拥有下级权限 3)企业的审核,应由企业所属地政府以及上级人员审核,比如芙蓉区的企业可以有芙蓉区政府工作人员以及长沙市工作人员审核,而其他地方人员不能审核 4)有部分模块是公用的,即无需授权 5)增删改查也需授权 数据表设计: 模块表:module 字段类型说明ModuleIdint主键,自动生成ModuleNameVarchar(20)模块名字ModuleCodeVarchar(10)模块代号(必须唯一),作为授权凭据ModulePcodeVarchar(10)模块父代号,0表示根目录ModuleUrlVarchar(50)模块路径ModuleTypechar(1)1表示公共模块,2表示可以授权的模块,3表示系统模块不授权,由超级管理员直接操作(用户表字段adminFlag=1) 动作表:effect(用来控制每个页面crud按钮) 字段类型说明EffectCodeInt主键,自动生成EffectNameVarchar(10)如增加动作表用于直接插入插入数据库,1-增加,2-删除,3-修改,4-查询,5-导入,6-导出,7-审核,给每个页面授予动作时,基于二进制, 如某人,A页面有查询增加1,修改2,查询4动作,相当于2x1+2x2+4x2=14,判断有权限14$2,删除权限14$~2,增加权限14|2>>5 模块动作表:module_effect 字段类型说明modeffIdint主键,自动生成ModuleCodeVarchar(10)模块代号EffectCodeInt动作idEffectNameVarchar(10)动作id对应的名字,可以不设该字段,考虑到方便建议有 角色表:role 字段类型说明roleIdInt主键roleNameVarchar(20)角色名字CreateTimeDate创建时间 部门表:department 字段类型说明deptIdint主键DeptNameVarchar(20)部门名字DeptdescVarchar(100)部门简要描述DeptPidint父级部门idregionId·int所属区域id部门是根据区域来维护的 部门角色表 字段类型说明deptIdint部门主键roleIdInt角色主键 用户表:user只给出几个重要字段 字段类型说明userIdint主键regionId·int所属区域iddeptIdint所属部门usernameVarchar(20)用户名PasswordVarchar(20)密码EmailVarchar(50)邮箱telephoneVarchar(15)电话adminFlagChar(1)0一般用户需要授权,1为系统管理员,可以拥有所以模块一个用户自动拥有该部门的权限,同时可以单独授权 授权类型表:power,是为角色授予模块还是为用户授予模块 字段类型说明powerIdint主键powerTypeVarchar(10)只取两个值,user代表给用户,role代表给角色modeffIdInt外键,模块idpowerTypeIdInt外键,当powerType=user时指的是用户id, 当powerType=role时指的是角色idPowereffectStateInt每个模块页面对应的crud之和 界面预览(不是美术师) 1.整体界面 2.部门列表 3.角色授权 4.菜单列表 花了两天搞完的,优点算是通用性设计吧,缺点没有很紧的联系业务。 通用设计可以遇神杀神遇佛杀佛