中南大学数据库系统安全课程设计报告.精讲

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

中南大学数据库系统安全课程设计报告学生姓名郁博文学院信息科学与工程学院指导老师李祖德专业班级信息安全1302班完成时间2015年12月30日目录第一章问题描述及设计目标………………………………1第二章系统需求分析………………………………………22.1需求描述…………………………………………………22.2系统功能结构……………………………………………32.3数据流图…………………………………………………3第三章数据库设计…………………………………………43.1全局E-R图………………………………………………43.2数据字典…………………………………………………43.3数据库内关系表定义……………………………………63.4权限表设计……………………………………7第四章数据库实现…………………………………………84.1数据库创建SQL代码………………………………………84.2存储过程的创建SQL代码………………………9第五章RBAC应用场境描述…………………………………185.1场境1描述………………………………………………125.2场境2描述………………………………………………135.3场境3描述………………………………………………141第一章问题描述及设计目标1.1问题描述随着学校规模的不断扩大,专业、班级、学生的数量急剧增加,有关学生选课的各种信息量也成倍增长,而目前许多高校的学生成绩管理仍停留在复杂的人工操作上,重复工作较多,工作量大,效率低。除此之外,虽然大量数据库实现了基于角色的访问控制功能,却没有对其特征集达成一致。缺乏广为接受的模型,导致了对基于角色的访问控制作用和含义理解的不规范性和不确定性。基于以上情况,有必要设计一个成绩管理系统,为了加强系统的安全性,引入了基于角色的访问控制模型(RBAC),应用该模型可以使不同用户登陆后得到不同的访问权限,不具有某个权限的用户将不能操作该权限,从数据库层进行权限控制有利于提高系统易用性,可扩展性,健壮性以及安全性。本次课程设计就是要设计一个基于RBAC的成绩管理系统,要从底层对用户权限进行控制,而不是在应用层。1.2设计总目标(1)掌握如何在真实数据库系统中实现基于角色访问控制(RBAC)模型。(1)掌握如何在特定软件系统中基于RBAC模型访问和操控数据库。1.3设计总要求在真实数据库系统中实现RBAC模型开发应用演示界面,演示如何基于RBAC访问某数据库o演示界面最好是可实际操作的可视化界面,要能演示。o如果未可视化,必须演示代码运行过程及结果。数据库依据应用系统的需求而定,应用系统从如下列表中选择。1.4RBAC简介基于角色访问控制(RBAC)是当前主流的数据库访问控制技术。RBAC的一般模型如下:2用户角色会话用户/角色分配角色/权限分配会话角色权限操作客体(UA)(RA)(ROLES)(OPS)(OBJS)(SESSIONS)(Session_roles)(PRMS)会话用户(Session_users)角色层次(RH)(USERS)第二章系统需求分析2.1需求描述2.1.1学生成绩管理负责对学生成绩的录入、删除、更改、查询以及其他功能的管理。(1)管理员负责学生表、教师表、课程表等基本表的基本数据的录入、删除和更改,并且可修改成绩表的选课情况。(2)教师、学生分别可以查询及更改教师表、学生表中属于自己的相应数据。(3)教师可以查询及更改成绩表中所教学生的成绩,学生只能查询成绩表中属于自己的成绩。(4)学生可以选课,老师无权修改学生选课结果,可以查看多少学生选了课2.1.2用户和权限管理实现对系统用户以及不同角色的权限的管理(1)管理员可以创建、删除系统用户(2)用户可以在登录系统后修改自己的相应资料(3)每个用户在创建时须赋于相应角色(4)每个角色在被创建时可以赋于相应权限,其所具有的权限可以修改(5)角色创建后可以修改、删除(6)默认的系统角色:管理员教师学生32.2系统功能结构数据库系统结构图2.3数据流图大学学生成绩管理系统用户管理权限管理成绩管理修改密码角色管理操作管理权限分配管理角色分配管理成绩录入管理成绩查询管理成绩更改管理4第三章数据库设计3.1全局E-R图全局E-R图如下:3.2数据字典3.2.1表单信息数据库表名说明userinfo用户表role角色表user_role用户角色映射表permit权限表role_permit角色权限映射表student学生成绩信息表5teacher教师信息表course课程信息表temp临时信息表3.2.2各表信息表名:usersuserid用户IDusername用户姓名userpwd用户密码表名:rolerolerid角色IDrolename角色名称表名:user_roleuserid用户IDroleid角色ID表名:permitpermitid权限IDaction执行动作tablename对象表/视图object对象列名表名:role_permitroleid角色IDpermitid权限ID表名:studentsno学号sname姓名cno课程编号grade学生成绩表名:teachertno教师编号tname姓名cno课程编号userid用户id表名:course6cno课程编号course课程名sno学生编号tno教师编号3.3数据库内关系表定义数据库内关系图如下:用户信息(用户ID,用户名,用户密码)用户-角色(用户ID,角色ID)角色(角色ID,角色名)角色—权限(角色ID,权限ID)权限(权限ID,动作,对象,表名)学生成绩(学号,课程号,姓名,成绩)选课(课程号,课程名,学号,教师号)教师(教师号,姓名,课程号)加下划线的表示为主键。73.4权限表设计角色表设计角色权限表设计8第四章数据库实现4.1数据库创建SQL代码建立系统注册成员的信息表,包括用户唯一的账号,密码,姓名:建立角色信息表:建立用户角色联系的表:建立角色权限联系的表:建立权限信息表:建立学生成绩表,包括学号,姓名,课程号,成绩:9建立教师表,包括教师号,姓名,课程名:建立选课表:建立临时表,用于存储某个用户的权限:4.3存储过程的创建SQL代码用户注册:从临时表得到数据,判断用户是否有此权限::查看成绩:10将某用户数据放入前面创建的一张临时表temp中,调用该存储过程可知用户有哪些权限:往student表添加一行数据,即录入成绩,由前面的权限分配可知只有教师管理员有这权限:学生选课:用户角色分配:11角色权限分配:安排教师教授某个课程,只有管理员有这权限删除用户:删除成绩:12删除权限:修改密码:第五章RBAC应用场境描述5.1场景1:教务处分配教学任务-学生选课-老师登记分数-学生查成绩1.教务处分配教学任务execdistributeCourse3,1,'李祖德',12.学生选课execselectOwnCourse1,1,'软件体系结构',1,1133.老师登记分数execsetGrade3,1,'郁博文',974.学生查成绩execgetGrade1,1,'郁博文',1,'软件体系结构'5.2场景2:新建学习委员角色,并给他登记分数的权利1.注册用户execregister4,'学委',12.分配角色execdistributeRole4,4143.分配权力execdistributePermit4,205.3场景3:用户密码遗忘,管理员修改1.修改密码execalterPwd1,2,1

1 / 16
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功