版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
权限管理系统
一、系统功能分析
1.系统的功能棋块
系统主要完成权限授予及权限验证的功能,权限授予实现某个用户对模块的某个功能
的操作许可,组成权限数据库。为用户分配角色来实现授权。权限脸证实现通过实现定义好
的权限数据库,判断该用户是否对某个模块的某个功能具有操作权限,权限验证采用过滤器
来设计,用户在应用系统中进行所有操作都需要经过这一层过滤器。
系统设计包括以下5个模块:
>人员管理:创建、更新、删除、查询人员信息、人员角色维护。
>功能管理:创建、更新、删除、查询功能信息。
>模块管理:创建、更新、删除、查询模块信息、模块功能维护。
>角色管理:创建、更新、删除、查询角色信息,、角色权限维护。
>验证权限:判断用户对某一个模块的操作是否合法。
权限管理系统
权限管理数抓库
图1系统功能结构图
2.技术选型
系统采用业界常用的J2EE框架进行组合。要求成熟稳定的系统框架以满足系统的松耦
合性、扩性和可维护性。权限管理系统采用Struts+Hibcrnate+Spring三种框架组合开发。
表示层和控制层框架:选择业界广泛使用而且成熟稳定的Strutso
业务逻辑层框架:选择轻量级SpringFramework°
持久层框架:选择Hibernate。
3.系统逻辑结构分析
系统采用Struts+Hibernate+Spring架构进行开发。在体系结构上将系统划分为四个层
次:表示层、控制层、业务层、持久层。表示层和控制层融合紧密,采用struts框架;持
久层采用Hibernate框架;业务层和持久层统一使用spring框架支撑。
Struts框架接收来自表示层请求“xxxAclion.do",请求参数封装在“xxxFom"+»
struts依据配置信息调用控制层实例"xxxActiorT的相关方法,该方法从“xxxFonn”中取
回请求参数》并从SpringBean容器中获取业务层接口“xxxManager”的一个实例
**xxxManagcrImpro在SpringBean容器初始化"xxxManagcrlmpl”实例时、会根据bcanid=
"xxxDAO”获取对■应的"xxxDAO”的一个实例*并赋值给“xxxManagerlmpl"的"xxxDAO”
接口0xxxManagerlmpl实例会调用持久层接口“xxxDAO”实例的方法完成具体的操作,并
返回操作结果。
图2权限管理模型结构图
〉表示层(view):
表示层主要负责在前台JSP页面上展示控制层提供的数据,提供操作界面,将用户的
操作请求提交给控制层。
>控制层(Controller):
控制具体的业务流程。接受来自表示层的用户操作请求,调用业务层的接口完成用户
请求的处理.,并将处理结果和数据保存到request对象中,控制流程转向表示层输出处理结
果和数据。表示层和控制层结合起来开发,采用struts框架,
控制层的配置是在struts-con仃g.xml配置文件中定义的,控制层和表示层之间的接口也需要在该
文件中定义。
>业务层(Manager):
业务层主要负责业务模块的逻辑应用设计,采用Spring框架。首先需要规划业务层向控制层提
供的接口,然后设计器接口的实现类,'忆务层接口的具体实现需要调用到已定义的DAO层的接口。接
着在Spring的配置文件中配置接口与实现的关联,以及没置相关的DAO接口。在控制层中只需要调用
业务层接口就可以很方便的进行业务处理。封装业务层的业务逻辑有利于业务逻辑的独立性和可重用
性。
》持久层(DAO):
接受业务层的调用,完成数据的持久化工作。采用Hibernale技术实现,业务层和持■久层都来
用Spring框架,首先需要定义业务层与持久层之间的接口,然后在设计接口的实现,最后在Spring
的配置文件中定义此接口关联的实现类。在业务层中调用此接口来进行数据业务的史理,而不关心此
接口的具体实现类是哪个类,所有接口实现调用的部细节全部封装在Spring框架中。DAO层的数据源,
以及有关数据库连接的参数都需要在Spring的配置文件中配置。
二'数据库表结构设计
1.系统数据模型
权限管理系统的实体有人员、角色、模块、功能,这四个实体之间的关系是:一个人员可以具
有多个角色》多个人员也可以属于同一个角色;一个模块可以有多个功能,一个功能也可以属于多个
模块;一个角色对多个模块的多个功能也可以有多个权限,多个角色也可以拥有同一个权限。这四个
实体之间关系如下:
nwidulc
staff$HGvL®ID
qSufCDhochldknc
Stsfors*HcxilueIRL
SsCT.d
stafTrole
am
Eolelll
SiftfOD
luk«ulhfunctiv
9roklD—CCriA.VUJUFundianID
RcdcMsncIDAuIhlORoUIDFunction5TAnw
|l;unctaonll)
IkioriplionDAzcriptioxi
图3权限管理系统数据模型图
2.系统表设计
人员信息表staff
序号字段描述类型长度主键可空
1StaffID编号Int是否
2StaffName名称Varchar(50)否否
3StaffPwd密码Varchar(50)否否
角色表role
序号字段描述类型长度主键可空
1Rolell)角色11)Int是否
2Ro1eName角色名称Varchar(50)否否
3Description描述Varchar(200)否否
人员角色关系表StaffRole
序号字段描述类型长度主键可空
111)唯一标识Int是否
2Rolell)角色11)Int否否
3StaffID人员11)Int否否
棋块表Modulo
序号字段描述类型长度主键可空
1ModuleII)模块IDInt是否
2ModuleName模块名称Varchar(50)否否
3ModuleURL模块路径Varchar(200)否否
功能项表Function
序号字段描述类型长度主键可空
1Functionil)功能IDInt是否
2FunctionName功能名称Varchar(50)否否
3Description描述Varchar(200)否否
权限表Auth(模块功能表)
序号字段描述类型长度主键可空
权限
1AuthTI)II)Int是否
2ModuleII)模块II)Int否否
3Functionll)功能II)Int否否
角色权限表Ro1eAuth
序号字段描述类型长度主键可空
唯一标识
1II)Int是否
2AuthII)权限II)Int否否
3Rolell)角色11)Int否否
3.创建popedom(权限系统)数据库脚本
createtablestaff(
StaffIDintautoincrementprimarykey,
StaffNamevarchar(50)unique,
StaffPwdvarchar(50)notnull)ENGINE=InnoDBDEFAULTCHARSET=gbk;
createtabicrolc(
Rolel1)intautoincrementprimarykey,
RoleNamevarchar(50)unique,
Descriptionvarchar(200)notnull
)ENGINE=InnoDBDEFAULTCHARSET=gbk;
createtablestaffroleC
IDintauto_increnientprimarykey,
Rolell)intnotnull,
StaffIDintnotnull,
CONSTRAINTstaffrole_role_fkFOREIGNKEY(RolelD)REFERENCESrole(RolelD),
CONSTRAINTstaffrole_staff_fkFOREIGNKEY(StaffID)REFERENCESstaff(StafflD)
)ENGINE=InnoDBDEFAULTCHARSET=gbk;
createtableinoduleC
Module11)intauto_increnientprimarykey,
ModuleNamevcirchar(50)unique,
ModlueURLvarchar(200)notnull
)ENGINE=InnoDBDEFAULTCHARSET二gbk;
createtablefunctionC
Functionll)intautoincrcmcntprimarykey,
FunctionNamcvarchar(50)unique,
Descriptionvarchar(200)notnul1
)ENGINE=InnoDBDEFAULTCHARSET=gbk;
createtableauth(
AuthIDintauto_incrementprimarykey,
Modulell)intnotnull,
Function11)intnotnull,
CONSTRAINTauth_module_fkFOREIGNKEY(ModulelD)REFERENCESmodule(ModulelD),
CONSTRAINTauth_function_fkFOREIGNKEY(FunctionlD)REFERENCESfunction
(Function11))
)ENGINE=InnoDBDEFAULTCHARSET=gbk;
createtableroleauth(
IDintautoincrementprimarykey,
Authll)intnotnul1,
Rolell)intnotnull,
CONSTRAINTroleauth_auth_fkFOREIGNKEY(AuthlD)REFERENCESauth(AuthlD),CONSTRAINT
roleauth_role_fkFOREIGNKEY(RolelD)REFERENCESrole(Rolell)))ENGlNE=lnnoDBDEFAULTCHARSET=gbk;
4.初始化数据
insertintorolevalues
(1,'系统管理员‘,'管理系统全部资源’);
insertintostaffvalues
(1/admin,'21232F297A57A5A743894A0E4A801FC3');—admin:admin
insertintomodulevalues
(1,*用户管理staffAction.do'),
(2,'角色管理','roleAction,do*),
(3,‘模块管理','moduleAction.do*),
(4,‘功能管理','functiorAction.do*),
(5,'用户角色管理','staffRoleAction,do*),
(6,'模块功能管理','authAction.do'),
(7,'角色权限管理‘,’rolcAuthAction.do*);
insertintofunctionvalues
(1,'save*,'保存'),
(2,'create*,,创建'),
(3,'list','列表'),
(4/delete*,'删除'),
(5,'update*,'更新'),
(6,'search*,搜索'),
(7,'staffrole*,'用户角色列表’),
(8,'createstaffrole*,'创建用户角色'),
(9,'removestaffrole*,,删除用户角色'),
(10,'rolestaff*,'角色用户列表')>
(11,'roleauth*,'角色权限列表'),
(12,1createroleauth*,'创建角色权限色,
(13,*renioveroleauth*,'删除角色权限'),
(14,*createauth*,,创建模块功能权限’),
[15,'r
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《儿童慢性病居家脱水处理专科护理》
- 木材公司年会策划方案
- 库存盘查物品催办函5篇
- 行政管理部门办公设备采购流程手册
- 贵司产品供应确认函(7篇范文)
- 营养风险筛查评估与营养治疗管理制度
- (2026年)小学教学管理制度
- 关于客服部门工作流程优化的商洽函3篇
- 客户关系管理数据整合高效操作手册
- 珍爱生命筑牢安全防线交通安全班会
- 2026-2030中国高压电力变压器行业市场发展趋势与前景展望战略分析研究报告
- 2026交银金融科技有限公司人才招聘备考题库及一套完整答案详解
- 2026春小学信息技术四年级下册期末练习卷(清华版贵州)含参考答案
- 2026年高考全国1卷语文高考真题含答案
- T-CEPPEA 5072-2025 变电站零碳建筑设计规范
- 中国面神经炎临床诊疗指南(2025版)
- 2026海底光缆系统全球布局与中国企业竞争力分析报告
- 2026云南锐达民爆有限责任公司职工招聘7人笔试备考试题及答案详解
- 2026干细胞治疗行业市场深度调研及发展趋势和前景预测研究报告
- 2026国货航股份货站事业部招聘15人(直接聘用制)笔试参考题库及答案解析
- 2026年高中化学学业水平考试知识点归纳总结(复习必背)
评论
0/150
提交评论