权限管理系统

上传人:鲁** 文档编号:547674950 上传时间:2023-03-21 格式:DOCX 页数:10 大小:16.89KB
返回 下载 相关 举报
权限管理系统_第1页
第1页 / 共10页
权限管理系统_第2页
第2页 / 共10页
权限管理系统_第3页
第3页 / 共10页
权限管理系统_第4页
第4页 / 共10页
权限管理系统_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《权限管理系统》由会员分享,可在线阅读,更多相关《权限管理系统(10页珍藏版)》请在金锄头文库上搜索。

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

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

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

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

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

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

7、如下:图权限管理系统数据模型图2. 系统表设计人员信息表staff序号字段描述类型长度主键可空1StaffID编号Int是否2StaffName名称Varchar(50)否否3StaffPwd密码Varchar(50)否否角色表role序号字段描述类型长度主键可空1RoleID角色IDInt是否2RoleName角色名称Varchar(50)否否3Description描述Varchar(200)否否人员角色关系表StaffRole序号字段描述类型长度主键可空1ID唯标识Int是否2RoleID角色IDInt否否3StaffID人员IDInt否否模块表Module序号字段描述类型长度主键可空1

8、ModuleID模块IDInt是否2ModuleName模块名称Varchar(50)否否3ModuleURL模块路径Varchar(200)否否功能项表Function序号字段描述类型长度主键可空1FunctionID功能IDInt是否2FunctionName功能名称Varchar(50)否否3Description描述Varchar(200)否否权限表Auth (模块功能表)序号字段描述类型长度主键可空1AuthID权限IDInt是否2ModuleID模块IDInt否否3FunctionID功能IDInt否否角色权限表RoleAuth序号字段描述类型长度主键可空1ID唯标识Int是否2A

9、uthID权限IDInt否否3RoleID角色IDInt否否3.创建popedom(权限系统)数据库脚本createtablestaff(StaffIDintauto_incrementprimarykey,StaffNamevarchar(50)unique,StaffPwdvarchar(50)notnull)ENGINE=InnoDBDEFAULTCHARSET=gbk;createtablerole(RoleIDintauto_incrementprimarykey,RoleNamevarchar(50)unique,Descriptionvarchar(200)notnull)ENG

10、INE=InnoDBDEFAULTCHARSET=gbk;createtablestaffrole(IDintauto_incrementprimarykey,RoleIDintnotnull,StaffIDintnotnull,CONSTRAINTstaffrole_role_fkFOREIGNKEY(RoleID)REFERENCESrole(RoleID),CONSTRAINTstaffrole_staff_fkFOREIGNKEY(StaffID)REFERENCESstaff(StaffID )ENGINE=InnoDBDEFAULTCHARSET=gbk;createtablemo

11、dule(ModuleIDintauto_incrementprimarykey,ModuleNamevarchar(50)unique,ModlueURLvarchar(200)notnull)ENGINE=InnoDBDEFAULTCHARSET=gbk;createtablefunction(FunctionIDintauto_incrementprimarykey,FunctionNamevarchar(50)unique,Descriptionvarchar(200)notnull)ENGINE=InnoDBDEFAULTCHARSET=gbk;createtableauth(Aut

12、hIDintauto_incrementprimarykey,ModulelDintnotnull,FunctionlDintnotnull,CONSTRAINTauth_module_fkFOREIGNKEY(ModuleID)REFERENCESmodule(ModuleID)CONSTRAINTauth_function_fkFOREIGNKEY(FunctionID)REFERENCESfunction(Fun ctionID)ENGINE=InnoDBDEFAULTCHARSET=gbk;createtableroleauth(IDintauto_incrementprimaryke

13、y,AuthIDintnotnull,RoleIDintnotnull,CONSTRAINTroleauth_auth_fkFOREIGNKEY(AuthID)REFERENCESauth(AuthID),CONSTRAINTroleauth_role_fkFOREIGNKEY(RoleID)REFERENCESrole(RoleID) )ENGINE=InnoDBDEFAULTCHARSET=gbk;4. 初始化数据insertintorolevalues(1,系统管理员,管理系统全部资源);insertintostaffvalues(1,admin,21232F297A57A5A74389

14、4A0E4A801FC3);-admin:admininsertintomodulevalues(1,用户管理,),(2,角色管理,),(3,模块管理,),(4,功能管理,),(5,用户角色管理,),(6,模块功能管理,),(7,角色权限管理,);insertintofunctionvalues(1,save,保存),(2,create,创建),(3,list,列表),(4,delete,删除),(5,update,更新),(6,search,搜索),(7,staffrole,用户角色列表),(8,createstaffrole,创建用户角色),(9,removestaffrole,删除用户角色),(10,rolestaff,角色用户列表),(11,roleauth,角色权限列表),(12,createroleauth,创建角色权限),(13,removeroleauth,删除角色权限),(14,createauth,创建模块功能权限),

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号