权限管理系统_第1页
权限管理系统_第2页
权限管理系统_第3页
权限管理系统_第4页
权限管理系统_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、权限管理系统一、系统功能分析1. 系统的功能模块系统主要完成权限授予及权限验证的功能,权限授予实现某个用户对模块的 某个功能的操作许可,组成权限数据库。为用户分配角色来实现授权。权限验证 实现通过实现定义好的权限数据库,判断该用户是否对某个模块的某个功能具有 操作权限,权限验证采用过滤器来设计,用户在应用系统中进行所有操作都需要 经过这一层过滤器。系统设计包括以下 5 个模块:? 人员管理:创建、更新、删除、查询人员信息、人员角色维护。? 功能管理:创建、更新、删除、查询功能信息。? 模块管理:创建、更新、删除、查询模块信息、模块功能维护。? 角色管理:创建、更新、删除、查询角色信息、角色权限

2、维护。? 验证权限:判断用户对某一个模块的操作是否合法。图系统功能结构图2. 技术选型系统采用业界常用的J2EE框架进行组合。要求成熟稳定的系统框架以满足系 统的松耦合性、 扩张性和可维护性。 权限管理系统采用 Struts+Hibernate+Spring三种框架组合开发。Struts 。表示层和控制层框架:选择业界广泛使用而且成熟稳定的业务逻辑层框架:选择轻量级 SpringFramework 。持久层框架:选择 Hibernate 。3. 系统逻辑结构分析系统采用 Struts+Hibernate+Spring 架构进行开发。在体系结构上将系统划 分为四个层次:表示层、控制层、业务层、持

3、久层。表示层和控制层融合紧密, 采用 struts 框架;持久层采用 Hibernate 框架;业务层和持久层统一使用 spring框架支撑。Struts 框架接收来自表示层请求 “ ,请求参数封装在 “xxxForm 中, struts依据配置信息调用控制层实例“ xxxAction 的相关方法,该方法从“ xxxForm中取回请求参数,并从SpringBean容器中获取业务层接口“ xxxManager”的一个实例“xxxManagerimpl”。在 SpringBean 容器初始化“ xxxManagerimpl” 实例时, 会根据beanid= “xxxDAO获取对应的“ xxxDAO

4、的一个实例,并赋值给“xxxManagerimpl” 的“xxxDAO 接口。xxxManagerimpl 实例会调用持久层接口“xxxDAO实例的方法完成具体的操作,并返回操作结果。图权限管理模型结构图? 表示层 (view) :表示层主要负责在前台JSP页面上展示控制层提供的数据,提供操作界面, 将用户的操作请求提交给控制层。? 控制层 (Controller)控制具体的业务流程。接受来自表示层的用户操作请求,调用业务层的接口 完成用户请求的处理,并将处理结果和数据保存到 request 对象中,控制流程转 向表示层输出处理结果和数据。 表示层和控制层结合起来开发, 采用 struts 框

5、架, 控制层的配置是在配置文件中定义的,控制层和表示层之间的接口也需要在该文 件中定义。? 业务层 (Manager) :业务层主要负责业务模块的逻辑应用设计,采用Spring框架。首先需要规划业务层向控制层提供的接口,然后设计器接口的实现类,业务层接口的具体实现 需要调用到已定义的DAO层的接口。接着在Spring的配置文件中配置接口与实现 的关联,以及设置相关的DAOS 口。在控制层中只需要调用业务层接口就可以很 方便的进行业务处理。封装业务层的业务逻辑有利于业务逻辑的独立性和可重用 性。?持久层(DAO):接受业务层的调用,完成数据的持久化工作。采用Hibernate技术实现,业务层和持

6、久层都采用Spring框架,首先需要定义业务层与持久层之间的接口,然 后在设计接口的实现,最后在 Spring的配置文件中定义此接口关联的实现类。在业务层中调用此接口来进行数据业务的处理,而不关心此接口的具体实现类是哪 个类,所有接口实现调用的内部细节全部封装在 Spring框架中。DAO1的数据源,以及有关数据库连接的参数都需要在 Spring的配置文件中配置。二、数据库表结构设计1.系统数据模型权限管理系统的实体有人员、角色、模块、功能,这四个实体之间的关系是: 一个人员可以具有多个角色,多个人员也可以属于同一个角色;一个模块可以有 多个功能,一个功能也可以属于多个模块;一个角色对多个模块

7、的多个功能也可 以有多个权限,多个角色也可以拥有同一个权限。这四个实体之间关系如下:图权限管理系统数据模型图2.系统表设计人员信息表staff序号字段描述类型长度主键可空1StaffID编号Int是否2StaffName名称Varchar(50)否否3Staff Pwd密码Varchar(50)否否角色表role序号字段描述类型长度主键可空1RoleID角色IDInt是否2RoleName角色名称Varchar(50)否否3Descri pti on描述Varchar(200)否否人员角色关系表StaffRole序号字段描述类型长度主键可空1ID唯一标识Int是否2RoleID角色IDInt否

8、否3StaffID人员IDInt否否模块表Module序号字段描述类型长度主键可空1ModuleID模块IDInt是否2ModuleName模块名称Varchar(50)否否3ModuleURL模块路径Varchar(200)否否功能项表Function序号字段描述类型长度主键可空1Fun cti onlD功能IDInt是否2FunctionN ame功能名称Varchar(50)否否3Descri pti on描述Varchar(200)否否权限表Auth (模块功能表)序号字段描述类型长度主键可空1AuthID权限IDInt是否2ModuleID模块IDInt否否3Fun cti onlD

9、功能IDInt否否角色权限表RoleAuth序号字段描述类型长度主键可空1ID唯一标识Int是否2AuthID权限IDInt否否3RoleID角色IDInt否否3.创建popedom(权限系统)数据库脚本createtablestaff(StaffIDi ntauto_i ncreme ntp rimarykey,StaffNamevarchar(50 )uniq ue.Staff Pwdvarchar(50) notn ull)ENGINE=I nn oDBDEFAULTCHARSET=gbk;createtablerole(RoleIDi ntauto_i ncreme ntp rimar

10、ykey,RoleNamevarchar(50 )uniq ue,Descri pti onv archar(200)notnull)ENGINE=I nn oDBDEFAULTCHARSET=gbk;createtablestaffrole(IDi ntauto_i ncreme ntp rimarykey,RoleID intnotn ull,StaffIDi ntn ot null,CONSTRAINTstaffrole_role_fkFOREIGNKEY(RolelD)REFERENCESrole(RolelD), CONSTRAINTstaffrole_staff_fkFOREIGN

11、KEY(StafflD)REFERENCESstaff(StafflD )ENGINE=I nn oDBDEFAULTCHARSET=gbk;createtablemodule(ModuleIDi ntauto_i ncreme ntp rimarykey,ModuleNamevarchar(50) un ique,ModlueURLvarchar(200) notnull)ENGINE=I nn oDBDEFAULTCHARSET=gbk;createtablef unction(Fun ctio nIDi ntauto_i ncreme ntp rimarykey,Fun ctio nN

12、amevarchar(50)u nique,Descri pti onv archar(200)notnull)ENGINE=I nn oDBDEFAULTCHARSET=gbk;createtableauth(AuthIDi ntauto_i ncreme ntp rimarykey,ModuleIDintnotnull,FunctionIDintnotnull,CONSTRAINTauth_module_fkFOREIGNKEY(ModuleID)REFERENCESmodule(ModuleID)CONSTRAINTauth_function_fkFOREIGNKEY(FunctionI

13、D)REFERENCESfunction(Fun ctionID)ENGINE=InnoDBDEFAULTCHARSET=gbk;createtableroleauth(IDintauto_incrementprimarykey,AuthIDintnotnull,RoleIDintnotnull,CONSTRAINTroleauth_auth_fkFOREIGNKEY(AuthID)REFERENCESauth(AuthID), CONSTRAINTroleauth_role_fkFOREIGNKEY(RoleID)REFERENCESrole(RoleID) )ENGINE=InnoDBDE

14、FAULTCHARSET=gbk;4. 初始化数据insertintorolevalues(1,' 系统管理员 ',' 管理系统全部资源 '); insertintostaffvalues(1,'admin','21232F297A57A5A743894A0E4A801FC3');-admin:admin insertintomodulevalues(1,' 用户管理 ',''),(2,' 角色管理 ',''),(3,' 模块管理 ','

15、9;),(4,' 功能管理 ',''),(5,' 用户角色管理 ',''),(6,' 模块功能管理 ',''),(8,'createstaffrole','保存'), 创建'), 列表 '),删除'),更新'),搜索'), 用户角色列表 '), 创建用户角色 '),(7,' 角色权限管理 ',''); insertintofunctionvalues (1,'save

16、9;,' (2,'create',' (3,'list',' (4,'delete',' (5,'update',' (6,'search',' (7,'staffrole','(9,'removestaffrole',' 删除用户角色 '),(10,'rolestaff',' 角色用户列表 '),(11,'roleauth',' 角色权限列表 ')

17、,(12,'createroleauth',' 创建角色权限 '),(13,'removeroleauth',' 删除角色权限 '),(14,'createauth',' 创建模块功能权限 '),(15,'removeauth',' 删除模块功能权限 '),(16,'createrolestaff','创建角色用户 '),(17,'removerolestaff','删除角色用户 ');insertint

18、oauthvalues(1,1,1) ,(2,1,3),(3,1,4),(4,1,5),(5,1,6),(6,2,1) ,(7,2,3),(8,2,4),(9,2,5),(10,2,6),(11,3,1) ,(12,3,3),(13,3,4),(14,3,5),(15,3,6),(16,4,1) ,(17,4,3),(18,4,4),(19,4,5),(20,4,6), (21,5,6),(22,5,7),(23,5,8),(24,5,9),(25,5,10),(26,5,16),(27,5,17), (28,6,3),(29,6,14),(30,6,15),(31,7,11),(32,7,12),(33,7,13);insertintoroleauthvalues(1,1,1) ,(2,2,1),(3,3,1),(4,4,1),(5,5,1),(6,6,1) ,(7,7,1),(8,8,1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论