目 录
1 绪论 1
1.1 引言 1
1.2 基于角色的登录功能的定义及其发展前景 1
1.2.1 角色的相关定义[2] 1
1.2.2 基于角色的登录功能的发展前景[1] 2
1.3 系统涉及的相关技术 3
1.3.1 MVC架构 3
1.3.2 开发环境Eclipse简介 4
1.3.3 MySql数据库[8] 5
2 系统分析 6
2.1 可行性分析 6
2.1.1 资源可行性 6
2.1.2 时间可行性 6
2.2 需求分析 6
2.2.1 系统功能初步需求分析 6
2.2.2 登录系统用户的情况 7
2.3 系统数据流分析 7
2.3.1 系统对于普通用户的数据流程分析 8
2.3.2 系统对于管理员的数据流程分析 8
3 概要设计 9
3.1 系统开发的两种模式 9
3.1.1 B/S模式 9
3.1.2 C/S模式 9
3.1.3 选择B/S模式的原因 10
3.2 相关权限管理[1] 10
4 详细设计 12
4.1 数据库设计 12
4.2 主要页面的设计 13
4.2.1 系统主页 13
4.2.2 登录页面 14
5 基于角色的登录系统的测试 16
6 结论 17
参考文献 18
致谢 19
6 结论
· 实现了系统开发过程中的职责分离,系统的安全管理部分被作为整个系统的核心控制部分,单独的被分离出来制定一些整个系统通用的安全准则。程序员在开发时不要过多的考虑程序安全性的问题只需要遵系统的安全准则即可,而是把主要精力花费在系统的业务功能上。
· 有效的利用系统已有的资源减少系统的冗余,使系统的条理更加清楚。对已有功能模块只需设置不同的特征参数和对各种界面元素实施不同的访问类型控制,就能产生不同控制效果不需程序员再进行编写程序的工作。
· 基于角色对用户组进行访问控制:对一组用户比对单个用户进行访问控制更加合理,用户组代表了具有相近工作性质的一组用户的集合,可以委派完成用户组工作的角色以控制用户组的权限范围(当然我们也可以把角色看成是我们系统中一个特定用户组)。同时支持角色的继承和多继承。通过改变用户的当前角色集就可以改变用户的权限,而改变某种角色所含的权限时又可以改变一组用户的权限,基于这种访问控制方式有3个方面的作用:(1)简化了权限管理,避免直接在用户和数据之间进行授权和取消。研究表明,用户所具有的权限易于发生改变,而某种角色所对应的权限更加稳定;(2)有利于合理划分职责,用户只有其所应具有权限,这样可以避免越权行为,有关用户组的关系描述正是对此的支持;(c)防止权力滥用,敏感的工作分配给若干个不同的用户完成,需要合作的操作序列不能由单个用户完成。
· 支持动态地改变用户的权限:安全管理考虑了访问权限不是静态,而是动态的情况。所有对象的权限均用三元组来表示P(o,t,p)主体在系统中的访问规则用四元组来表示(s,o,t,p)。当产品系统使用工作流时,可通过产品平台与安全管理控制核心的接口,重新为编写访问规则,动态修改主体能力表。动态分配用户完成当前工作流环节所需的权限。
· 权限的相互关联:各种权限不是互相独立而是相互关联的,而且权限可以有感知其它用用户操作,这可以描述有关协同权限。功能例如在给数据编辑控件授权只读权限时,收回用户对数据插入和删除权限,该权限允许感知其它用户的操作,诸如某用户改变了数据等等。
· 提供方便的授权/取消机制和检查机制:只要进行简单的赋值操作即可完成授权,同时由角色分配规则和主体访问规则控制则指导模型式的应用。
· 用户之间的授权关系:依据角色指派关系,运行系统中的用户自身可以对角色进行管理,这提供了又一种动态改变用户权限的手段。通常,角色指派的权力都在系统中具有管理责任的用户手中。