教务管理平台权限及公共模块设计与开发.docx
- 文档编号:29473812
- 上传时间:2023-07-23
- 格式:DOCX
- 页数:32
- 大小:204.13KB
教务管理平台权限及公共模块设计与开发.docx
《教务管理平台权限及公共模块设计与开发.docx》由会员分享,可在线阅读,更多相关《教务管理平台权限及公共模块设计与开发.docx(32页珍藏版)》请在冰豆网上搜索。
教务管理平台权限及公共模块设计与开发
教务管理平台-权限及公共模块设计与开发
摘要
随着教育改革的不断深化,高等院校的建设与发展对国民整体素质的提高起着越来越重要的作用,建立一套能够适应这些改变的行政管理方案也就显得尤为重要。
对于教务处来说,将信息技术用于校务管理中便是迫切的要求。
教务系统中的用户数量众多,需要具有不同的权限,以实现不同的应用。
本论文介绍了开发背景,开发平台,并基于需求分析实现了教务管理平台中基于角色控制的权限系统(RBAC)及公共模块的设计与开发。
RBAC实现了用户与访问权限的逻辑分离,更符合教务平台的用户、数据和应用特征;在公共模块中实现了系统通用的日志管理,异常处理,常用类库方法等。
通过设计和应用本系统,有效的解决了教务平台中关于用户管理与权限操作等方面的问题,为系统公共模块的实现打下坚实的基础。
通过较为详尽的功能测试,表明本文的设计内容具有一定的通用性,可用于需要动态分配权限与角色的管理系统中。
关键词:
权限;公共模块;RBAC
EducationManagementPlatform-
TheDesignandImplementationofAuthoritySystemandPublicModule
Abstract
Withthecontinuousdeepeningofeducationalreform,theconstructionanddevelopmentofuniversitiesplayersanincreasinglyimportantroletoraisetheoverallquality,establishanadministrationsolutiontoadaptthesechangesisparticularlyimportant.Fortheeducationaladministrationdepartment,informationtechnologyuseintheschoolmanagementisanurgentrequirement.
Theeducationmanagementplatformhaslargenumberofusersandneedsdifferentauthorityinordertoachievedifferentapplications.Thispaperintroducesthedevelopmentbackground,thedevelopmentplatforms,themoduledesignanddevelopmentofeducationmanagementplatform,rolebasedauthoritycontrolsystemmodule(RBAC)andpublicmodulebyrequirementsanalysis.RBACmoreseparatethedataandprogramfromusers,thesystemofeducationmanagementplatformforrealizingthelogicseparationofuserandaccessrights.Thepublicmoduleimplementsagenericsystemlogmanagement,exceptionhandling,commonlibrarymethods.Withthedevelopingofthesystem,itsuppliesaneffectivesolutiontothequestionsofusermanagementandauthoritycontroloftheplatformandthepublicplatformmodulemethods,whichhaslaidasolidfoundationfortheimplementationofthesystem’spublicmodule.Bythedetailedfunctionaltesting,itshowsthegenerality,sothesystemmaybeusedforthemanagementsystemofdynamicallocationofauthorityandrole.
Keywords:
authority;publicmodule;RBAC;
目录
论文总页数:
22页
1引言1
1.1课题背景1
1.2课题目的1
1.3课题意义1
2系统平台与相关技术2
2.1系统架构2
2.2开发平台介绍2
2.2.1VisualStudio2005介绍2
2.2.2SQLServer2005介绍2
2.3开发技术介绍2
2.3.1A2
2.3.2RBAC3
2.3.3Identity和IPrincipal3
3需求分析和数据库设计3
3.1应解决的问题3
3.1.1基于RBAC的权限系统.3
3.1.2平台需要的公共模块4
3.2功能需求4
3.2.1用户信息管理5
3.2.2角色信息管理5
3.2.3资源管理5
3.2.4用户角色分配5
3.2.5角色权限分配5
3.2.6权限操作5
3.2.7日志管理5
3.2.8异常处理6
3.2.9基础公共类库6
3.3非功能需求6
3.3.1包容性和可扩展性6
3.3.2系统简洁,易使用、易维护、适用非计算机专业人员使用6
3.3.3充分保护数据的一致性6
3.3.4采用先进成熟的技术,建立实用可靠的系统6
3.4数据库设计6
4系统设计设计与实现9
4.1公共模块设计9
4.1.1数据库通用类设计9
4.1.2系统工具通用类设计9
4.1.3系统日志和树目录设计10
4.1.4系统异常处理12
4.1.5系统通用页面设计12
4.2权限系统模块的实现13
4.2.1用户信息管理和角色绑定13
4.2.2角色管理和权限绑定15
4.2.3权限管理16
4.2.4系统资源管理和权限绑定及菜单操作17
4.2.4url过滤18
5测试20
结论20
参考文献20
致谢21
声明22
1引言
教务管理平台对安全问题有较高的要求,传统的访问控制方法DAC(DiscretionaryAccessControl,自主访问控制模型)、MAC(MandatoryAccessControl,强制访问控制模型)难以满足复杂的教务管理平台需求。
NIST(NationalInstituteofStandardsandTechnology,美国国家标准化和技术委员会)于90年代初提出了基于角色的访问控制方法(RBAC),实现了用户与访问权限的逻辑分离,更符合企业的用户、组织、数据和应用特征。
RBAC(角色访问控制)的基本思想即把整个访问控制过程分成两步:
访问权限与角色相关联,角色再与用户关联,从而实现了用户与访问权限的逻辑分离。
由于RBAC实现了用户与访问权限的逻辑分离,因此它极大的方便了权限管理。
例如,如果一个用户的职位发生变化,只要将用户当前的角色去掉,加入代表新职务或新任务的角色即可,角色/权限之间的变化比角色/用户关系之间的变化相对要慢得多,并且委派用户到角色不需要很多技术,可以由行政管理人员来执行,而配置权限到角色的工作比较复杂,需要一定的技术,可以由专门的技术人员来承担,但是不给他们委派用户的权限,这与现实中情况正好一致。
1.1课题背景
目前国家的教育体制也正处在不断改革、创新的阶段,我国教育部门充分吸取国外优秀的教学模式,结合国内多年的办学经验,逐步探索出适合中国特色的教学形式,因此国家教育部面向各级各类学校开展了全面学分制改革。
因此,各院校迫切需要对自己的现有教务管理系统进行改进和提高,根据国内大学的现在管理模式,结合国际新的思想观念,在校园网络环境下建设先进的、与国际水平接轨的信息化管理平台。
提高学校管理工作的现代化水平,使之成为学校公共信息服务体系的重要组成部分。
在这样的大环境下,我们选择了“教务管理平台”这个系统,符合实际需求。
其中教务管理平台中使用人员的复杂性和众多模块的管理,需要较为复杂和安全的权限系统,另外由于团队开发和系统平台的需要,也需要一定的公共模块的支持。
例如日志管理,异常处理,数据验证和过滤等。
1.2课题目的
为教务管理平台设计一套安全,通用,可扩展的权限系统和系统公共基础模块的设计与开发,以应对系统和团队开发的需要。
1.3课题意义
通过完成本课题系统的设计与开发,为团队开发教务管理平台打下基础,加快整个教务管理系统的开发速度,以应对实际教务管理工作自动化的需要,极大提高教务管理工作人员的效率。
2系统平台与相关技术
2.1系统架构
B/S架构的优点在于客户端和服务器通过Intranet进行数据交换,客户端基于统一的WEB浏览器,减少了投资,解决了系统维护升级的问题,另外只有极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,这也就充分保护了数据的安全。
根据教务平台的需求和实际使用情况,由于人员的复杂性和访问机器的分布性,适合使用B/S架构。
2.2开发平台介绍
本毕业设计的命题是教务管理平台中权限系统和公共模块的设计和开发,根据团队要求和开发成本选择了VisualStudio2005+SQL2005开发环境,使用的语言为c#。
2.2.1VisualStudio2005介绍
VisualStudio2005是一系列高效的、智能的开发工具的统称,它拥有一个庞大的产品线,包括面向学生、爱好者、初学者的Express版,面向专家、VisualBasic6的Standard版,面向顾问、企业开发人员的Professional版和面向架构师的TeamSystem版本。
在这些版本中,有些集成了开发软件常用到的东西,比如重构、单元测试、类设计器等等,以方便开发人员快速的设计各类软件。
2.2.2SQLServer2005介绍
SQLServer2005是一个全面的数据库平台,使用集成的商业智能工具提供了企业级的数据管理。
SQLServer2005数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。
SQLServer2005数据引擎是企业数据管理解决方案的核心。
此外SQLServer2005结合了分析、报表、集成和通知功能。
2.3开发技术介绍
2.3.1A
ASP.NET是微软流行的动态WEB编程技术活动服务器网页(ASP)的最新版本,但它远不是传统ASP简单升级。
ASP.NET和ASP的最大区别在于编程思维的转换,ASP.NET是真正的面向对象(Object-oriented),而不仅仅在于功能的增强。
在ASP.NET中,Web窗体页由两部分组成:
视觉元素(HTML、服务器控件和静态文本和该页的编程逻辑。
其中每一部分都存储在一个单独的文件中。
可视元素在一个扩展名为.aspx文件中创建,而代码位于一个单独的类文件中,该文件称作代码隐藏类文件扩展名为.aspx.vb或.aspx.cs。
这样,.aspx文件中存放所有要显示的元素,aspx.vb或.aspx.cs文件中存放逻辑。
2.3.2RBAC
企业环境中的访问控制策略一般有三种:
自主型访问控制方法、强制型访问控制方法和基于角色的访问控制方法(RBAC)。
其中,自主式太弱,强制式太强,二者工作量大,不便于管理。
基于角色的访问控制方法是目前公认的解决大型企业的统一资源访问控制的有效方法。
其显著的两大特征是:
1.减小授权管理的复杂性,降低管理开销;2.灵活地支持企业的安全策略,并对企业的变化有很大的伸缩性。
基于角色的访问控制RBAC作为一种灵活和直观的访问控制技术在20世纪90年代迅速发展起来,RBAC通过引入角色的新概念来实施访问控制策略。
不同的角色和它所应具有的权限许可互相联系,用户作为某些角色的成员,获得角色所拥有的权限。
角色可以根据实际的单位或组织的不同工作职能和权限来划分,依据用户所承担的不同权利和义务来授权相应的角色,对于一个存在大量用户和权限的权限分配系统来说,从用户到角色的管理,简化了权限分配的复杂性,提高了安全管理的效率和质量。
2.3.3Identity和IPrincipal
Principal对象是实现了IPrincipal接口的类的实例,这些对象用来表示用户,并且包括了用户的身份信息。
对于每一个线程来说都与一个principal对象相关联。
这个principal对象包括了表示运行当前线程的用户的identity对象。
3需求分析和数据库设计
3.1应解决的问题
3.1.1基于RBAC的权限系统.
1.用户(user)和角色(role)
用户指访问系统中的资源的主体,一般为人,也可为Agent等智能程序。
角色指应用领域内一种权力和责任的语义综合体,可以是一个抽象概念,也可以是对应于实际系统中的特定语义体,比如组织内部的职务等。
针对角色属性的不同,某些模型中将角色进一步细分为普通角色和管理员角色(可理解为全局角色)。
2.许可(Permissions)和权限(Permission)
许可描述了角色对计算机资源的访问和操作所具有的权限,其反映的是授权的结果。
比如授予某个角色对计算机资源有读的权限,则代表了一个许可的存在,这个许可表示:
角色获取了对计算机资源的读许可。
针对操作来说,其描述的是许可和操作之间的一种关联关系,而这层关系则表示了某一角色对某一操作所具有的权限及权限状态。
3.角色和指派(Assignment)
指派包含两个方面,用户指派和许可指派。
用户指派表示的是,将用户指派给特定的角色。
许可指派表示的是为角色指派计算机资源的访问和操作许可。
3.1.2平台需要的公共模块
1.日志管理
2.异常处理
3.加密模块及字符串验证与过滤等公共模块。
3.2功能需求
按照教务平台RBAC权限系统的需要,和相关公共基础模块的需要,有如下的功能需求。
如图1所示。
图1系统功能图
RBAC中用户,角色,权限,资源之间的关系如图2所示。
图2RBAC关系图
3.2.1用户信息管理
用户是权限的拥有者或主体。
用户和权限实现分离,通过授权管理进行绑定。
用户信息管理主要提供教务管理平台相关使用人员的信息的管理,包括添加,删除,修改等相关操作。
3.2.2角色信息管理
角色是权利和责任的标识,角色信息管理主要提供教务管理平台相关使用人员所属角色信息的管理,包括添加,删除,修改等相关操作。
角色和权限管理起来后,就拥有了一定的资源操作权力。
3.2.3资源管理
资源管理主要提供教务管理平台中各个功能模块可访问资源的管理,包括各种资源相关权限的添加,删除,修改等相关操作。
资源包括各种操作和可访问的页面等。
3.2.4用户角色分配
实现用户和角色之间的关联关系映射。
在用户信息列表中,选择要分配角色的用户,单击列表中的用户名,进入分配角色页面所示的窗口。
在为用户分配角色的窗口中,主要是通过职能范围来确定用户的权限。
每一个用户在每一个职能范围中均有一个默认的角色,并可以浏览该职能域中密级为“公开”的数据元。
为用户分配角色主要就是修改选定的用户在每一个职能范围中的角色,以及在每个职能范围中可以操作的数据元的密级。
3.2.5角色权限分配
实现权限操作和角色之间的关联关系映射。
角色描述用户的职能,权限是可访问资源的标识,给指定的角色分配权限,使角色具有了真正意义上的职能范围。
3.2.6权限操作
完成资源和权限之间的绑定。
可访问的资源或操作需要一个标识来标明,权限用通俗的语言来描述这种可用操作。
例如用户查看某个列表,“查看”就代表了权限,而“列表“就是资源。
3.2.7日志管理
日志是每个系统必不可少的东西,教务平台中用户的登陆信息,操作信息或异常信息都需要保存,以方便管理员的调用。
日志管理主要完成对系统相关各种日志的记录和管理,将信息持久化保存。
3.2.8异常处理
异常处理是每个系统必备的,自定义异常有助于把系统的错误信息按照自己定义的方式来处理,教务平台中把异常信息的保存进日志系统中,方便系统管理员查看,以及时修补系统存在的问题。
。
3.2.9基础公共类库
完成相关系统基本类库的设计。
涉及到数据库操作,相关javascript操作,字符串过滤和编码解码,分页等。
这类方法通常具有一般的通用性,以方便教务平台各模块的调用。
3.3非功能需求
3.3.1包容性和可扩展性
系统应具有较好的可扩展性和包容性。
系统的可扩展性应包括能接纳已有的系统和在今后系统软硬件扩展时,能有效地保护已有的投资。
特别是在应用需求变化时(应用与系统的需求往往提不全或者经常会变化),有一个较好的应用平台,能容易地加以调整。
系统易于扩充升级,既能满足当前业务的需求,又为今后的扩充留有空间。
3.3.2系统简洁,易使用、易维护、适用非计算机专业人员使用
系统的设计需要考虑用户的计算机水平,做到简单易用,没有计算机专业背景的用户也可以轻松的使用本系统完成复杂的排课工作。
3.3.3充分保护数据的一致性
权限系统中的用户,角色,权限,资源等多种信息。
各信息存在着一定的关联关系。
权限系统所使用的信息需要数据的高度一致,因此,非常有必要在设计时将数据的一致性作为一个重点来考虑。
3.3.4采用先进成熟的技术,建立实用可靠的系统
本系统的建设目标是否能实现,系统整个投资能否发挥应有的效益,最终将取决于该系统是否可靠实用。
为此,系统应采用成熟可靠的技术,应贯彻产品化的设计原则和实施方法。
同时,系统的起点要高,而不是基于淘汰的技术,系统的建立应适应未来技术发展的趋势。
3.4数据库设计
根据需求分析中的各种模块,设计了如下的数据库。
●用户表Accounts_Users用来存储系统用户。
表的字段说明如表1所示。
表1Accounts_Users(用户表)
序号
列名
数据类型
长度
标识
主键
允许空
字段说明
1
UserID
int
4
√
√
用户ID
2
UserName
varchar
50
用户名
3
Password
binary
20
密码
4
TrueName
varchar
50
√
真实姓名
5
Sex
char
2
√
性别
6
Phone
varchar
20
√
电话
7
varchar
100
√
邮箱
8
Activity
bit
1
√
是否激活
9
Style
int
4
√
页面风格
●用户角色表(Account_UserRoles),主要用于对应某用户和所属角色的对应关系,字段说明如表2所示。
表2Accounts_UserRoles
序号
列名
数据类型
长度
标识
主键
允许空
字段说明
1
UserID
Int
4
√
用户ID
2
RoleID
Int
4
角色ID
●角色表(Accounts_Roles),用来存储各种角色信息,字段说明如表3所示。
表3Accounts_Roles
序号
列名
数据类型
长度
标识
主键
允许空
字段说明
1
RoleID
Int
4
√
√
角色ID
2
Description
Varchar
255
√
角色说明
●角色权限表用来存储角色所拥有的权限.表的字段说明如表4所示。
表4Accounts_RolePermissions
序号
列名
数据类型
长度
标识
主键
允许空
字段说明
1
RoleID
Int
4
角色ID
2
PermissionID
Int
4
权限ID
●权限表(Account_Permissions)用来存储各种可用权限。
表的字段说明如表5所示。
表5Accounts_Permissions
序号
列名
数据类型
长度
标识
主键
允许空
字段说明
1
PermissionID
Int
4
√
√
权限ID
2
Description
varchar
255
√
权限说明
3
CategoryID
Int
4
√
权限类别
●权限类别(Accounts_PermissionsCategories)存储权限的类别,表的字段说明如表6所示。
表6Accounts_PermissionCategories
序号
列名
数据类型
长度
标识
主键
允许空
字段说明
1
CategoryID
Int
4
√
√
类别ID
2
Description
Varchar
255
√
类别说明
●目录树(S_Tree),存放系统的目录树,可无限添加.表的字段说明如表7所示。
表7S_Tree
序号
列名
数据类型
长度
标识
主键
允许空
字段说明
1
NodeID
Int
4
√
结点ID
2
Text
varchar
100
文本
3
ParentID
int
4
母结点ID
4
ParentPath
varchar
50
√
母结点ID
5
Location
varchar
50
√
目录所在位置
6
OrderID
int
4
√
顺序号
7
comment
varchar
50
√
说明
8
Url
varchar
100
√
URL
9
PermissionID
int
4
√
权限ID
10
ImageUrl
varchar
100
√
图片URL
●日志(S_Log),存放系统日志.如表8所示。
表8S_Log
序号
列名
数据类型
长度
标识
主键
允许空
字段说明
1
ID
bigint
8
√
√
2
CategoryID
int
4
√
类别ID
3
UserID
varchar
50
√
用户ID
4
datetime
datetime
8
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教务 管理 平台 权限 公共 模块 设计 开发
![提示](https://static.bdocx.com/images/bang_tan.gif)