角色权限(共7篇)
角色权限 篇1
1 引言
随着计算机技术、网络技术和通信技术的发展和应用, 企业信息化已成为品牌实现可持续化发展和提高市场竞争力的重要保障, 管理信息系统MIS (Management Information System) 是企业信息化的一个重要手段。对于管理信息系统来说, 用户权限的管理是最基本的功能之一, 它为用户提供全面、灵活的权限管理功能, 使得不同部门, 不同岗位甚至不同级别的操作人员具有不同的系统操作权限, 使各个操作人员各司其职, 保障系统的安全性和责任的可追溯性。而开发这样一个可适应各种权限的需求的模块具有很大的实用价值, 一方面, 它可以大大提高应用程序的开发效率, 缩短应用系统的开发周期;另一方面, 使用中可以灵活地根据不同角色配置用户的权限。本文吸取了RBAC技术的优点, 针对MIS系统中众多的窗体、菜单和按钮的可操作权限, 提出了一种基于角色的树型结构权限管理模型, 用户操作权限的分配的问题在实际的开发中取得了极好的效果。
2 基本思想
在基于角色的树型结构权限管理模型中, 用户与权限不再直接关联, 而是通过角色间接关联起来, 如图1所示, 整个访问控制过程分成两步:访问权限与角色相关联, 角色再与用户关联, 从而实现了用户与访问权限的逻辑分离。
用户、角色以及权限的基本概念如下:
(1) 用户:用户要拥有对某种操作的权限, 必须通过角色去关联。
(2) 角色:通过给用户授予不同的角色, 可以使用户有不同的权限集合。角色作为用户与权限的沟通媒介, 定义了权限和用户的关系, 所有的授权给角色而不是用户。
(3) 权限:权限是绑定在特定的资源实例上的, 例如窗体的可见与否, 又例如增加、修改、删除某信息的功能。
文中的权限设计为一个树形的结构, 如图2所示, 任何一个节点都是一个资源, 一个资源节点可以与若干资源节点相关联, 父节点的权限可继承到子节点。例如要对一个窗体的修改权限, 首先要有对该窗体可见的权限, 其次在该窗体上的子功能——修改按钮具有可操作的权限。通过对菜单项权限树形视图中各个项的勾选来完成对当前选定角色名称的菜单项权限状态的具体配置。在权限关系列表视图中用户还可以对各个账户所对应的角色进行调整, 相应的角色所对应的各个菜单项权限也会同步更新。
由于RBAC实现了用户与访问权限的逻辑分离, 因此极大地方便了权限管理。例如, 如果一个用户的职位发生变化, 只要将用户当前的角色去掉, 加入代表新职务或新任务的角色即可, 角色/权限之间的变化比角色/用户关系之间的变化相对要慢得多, 并且委派用户到角色不需要很多技术, 可以由行政管理人员来执行, 而配置权限到角色的工作比较复杂, 需要一定的技术, 可以由专门的技术人员来承担, 但是不给他们委派用户的权限, 这与现实中情况保持一致。RBAC主要有两个优点:第一, 降低授权管理的复杂性。第二, 灵活的权限变更方式, 有很大的伸缩性。
3 数据库设计
采用AOP机制有效地将系统中的权限与业务分离, 使得权限管理成为像业务逻辑一样的独立系统, 支持“即插即用”式的模块组装。所谓的“即插即用”是当MIS增加了新功能的时候, 只需要在系统中操作两个步骤:第一步, 在系统功能列表中插入新功能的信息;第二步, 通过权限管理树形列表为某角色添加权限。添加保存成功后再重新登录系统就可以使用此系统中新添加的功能。所以在应用了基于角色的树型结构权限管理模型的MIS系统中, 无论是针对最终用户还是系统开发者在分配权限和添加新的功能, 都是快捷方便的。Power Designer设计的物理数据模型如图3所示。
基础表为系统用户表、系统角色表、系统功能列表和系统模块名称表, 关联表为用户角色表和角色功能表, 当关联表中将用户、角色、系统功能成功关联起来的时候, 该用户才拥有了所关联的系统功能权限。系统用户表存储用户的基本信息, 其中包含的信息项主要有用户代码、用户名称、用户密码等信息;系统角色表存储角色的基本信息, 其中包含角色代码和角色名称;系统功能列表存储系统功能的基本信息, 包括功能编号、模块编号、功能名称、功能标题、父模块编号、父模块标题;系统模块名称表为系统功能列表的辅助表, 存储系统模块的基本信息, 包括模块编号、模块名称、模块标题, 在系统中设计特定的算法, 通过这两个表模块编号和父模块编号两个字段的关联将其转换为界面友好的树形结构;用户角色表存储用户和角色的关联信息, 包括用户代码和角色代码;角色功能表存储角色和功能的关联信息, 包括角色代码和功能编号。
4 权限的实现
系统权限管理功能有用户管理、模块管理、系统角色、角色分配、角色授权5项功能, 下面分别进行介绍。
4.1 用户管理
用户管理主要是对用户进行添加、修改、删除、查看权限等操作, 其管理界面如图4, 添加、删除、修改的操作是对数据库中的系统用户表进行简单的增删改操作, 权限按钮的功能是调出当前选中用户对应的的权限列表, 导出、打印是将所有的用户列表导出为Excel文档以及通过打印机打印出来。
4.2 模块管理
模块管理主要是对模块进行添加、修改、删除等操作, 其管理界面如图5, 添加、删除、修改的操作是对数据库中的系统模块名称表进行简单的增删改操作, 导出、打印是将所有的模块列表导出为Excel文档以及通过打印机打印出来
4.3 系统角色
系统角色主要是对模块进行添加、修改、删除、查看权限等操作, 其管理界面如图6, 添加、删除、修改的操作是对数据库中的系统角色表进行简单的增删改操作, 权限按钮的功能是调出当前选中角色对应的权限列表, 导出、打印是将所有的系统角色列表导出为Excel文档以及通过打印机打印出来
4.4 角色分配
角色分配主要用于管理用户和角色的关联管理, 添加、修改、删除的操作是对数据库中用户角色表的增删改操作。例如增加一条关联关系:用户“赵国程”的角色为“经理”, 那么在系统中“赵国程”这个用户就有了“经理”角色的所有权限, 如图7所示。
4.5 角色授权
角色授权主要是对用户进行授权管理, 其管理界面如图8所示。管理界面中, 通过选择角色名称这个下拉框中的角色, 可以在下方的以树形结构的形式查看当前选中的角色的所有权限, 可见的节点为该角色拥有的权限。
点击授权按钮后, 可以调出树形结构的所有权限, 如图9所示, 树形结构的每个节点前面都设置一个多选框, 在初始化树形结构函数中, 将该角色已经拥有的权限节点前的多选框勾选上。用户的操作中, 选中的节点为授予权限, 未选中的节点为限制权限, 限制的权限所对应的功能在系统中是不可见或不可操作的。
图10和图11分别为数据库中系统功能表和角色功能表的部分数据。系统功能表中将前台存在的各种功能以树形结构存于数据表中, 即每一个功能都有一个父亲节点, 以便于系统在读出时进行显示。角色功能表中存放角色所被授予的权限, 此处为一对多的关系。现以此编辑角色授权为例, 将基于角色的树型结构权限管理模型的关键部分的实现介绍如下:
首先要将系统中所有的权限读取出来:
其中DbHelperOra为数据访问的基础类, 提供了运行SQL命令与存储过程的基本功能。MyTreeView是自定义的一个树形结构类, 提供了树形结构的赋值和设置节点等基本功能, ReadNodesFromDataTable的功能是从DataTable读取树节点并添加到树中, ReadNodesFromDataTable函数和这个函数调用的ForTreeNodeFromDT函数代码如下
然后将该角色已获取的权限加载到树形结构的CheckBox中:
添加一个多选框点击事件, 多选框节点的选中状态改变时, 递归遍历其子节点的状态, 改变子节点的选中状态使其和父节点的选中状态一样, 便于用户进行批量操作。
当对树形结构所显示的权限进行修改并点击确定按钮的时候, 将该树形结构对应的新权限内容更新到数据库中, 即清空原有权限, 重新把树形结构中读取新的权限分配数据写入数据库, 其中adapterSession为数据库的适配器类, 主要完成数据集的操作:
5 结语
MIS系统的基于角色的树型结构权限管理模型, 采用了基于角色的动态权限管理的设计思想, 同时又对其进行了扩展, 采用了树形结构, 使得系统在对用户和权限多对多的权限关系进行分配时更加灵活方便。该模型已经运用在多个MIS系统上, 经过实践证明该方案可行, 使用效果良好。
VDP系统用户角色与权限设计 篇2
本项目即“新疆维吾尔自治区职业学校数据信息平台 (简称VDP) , 由新疆维吾尔自治区职教办职业教育协调处根据业务工作的迫切需要而提出, 旨在使我区职业院校与政府职教管理部门能摆脱半手工操作模式, 提高工作效率[1];信息管理条理化、科学化, 方便管理部门快速实现准确的查询与统计;经过规范工作流程与信息的不断积累, 为我区职业教育管理工作提供数据基础, 辅助领导决策[4]。
2 角色与类的设计
角色访问控制 (Role—Based Access Control, RBAC) 模型指出, 角色是中介, 将权限授予角色, 用户通过分配角色, 从而得到对客体资源的操作权限授权[3]。而在本系统中, 系统管理员具有系统最高级别的权限, 实行信息的全局管理与数据维护工作。普通用户由系统管理员分配权限, 在角色权限范围内进行访问与操作。
2.1 角色设计
角色是一组用户的集合, 具有指定的权限完成特定的资源访问与操作行为。为对有相似权限的用户进行分类管理, 定义了系统管理员、管理员、用户、访客等角色。角色具有上下级关系, 系统管理员通过角色授权分配权限资源, 那么, 下级角色的权限范围只能在上级权限范围实行进行授权操作。
角色从属于编码级别, 角色管理两个部分, 一个是菜单功能权限, 和报表内容权限。角色报表权限不同于编码内定权限, 一旦赋予角色相关报表的权限, 则本角色可以跨越编码级别对属于本角色的报表直接管理。但系统会给出提示, 并记录日志。
本系统初步要求建立几个以下角色并赋予相关功能和报表管理范围。根据实际情况予以改变这些默认的角色。
2.2 类的设计
角色控制Role Controller依据需求设计相应功能方法, 主要代码如下所示:
3 权限设计与实现
3.1 权限要求
本系统的权限要求分为资源和功能两个部分, 资源采用管理具体到报表方式, 而功能则根据菜单来定义, 关于审批的要求具体如下:
A1A2根级权限, 可以统计查询属于它之下的所有编码范围报表信息。
B1B2B3B4属于教育管理机构级别, 可以查询统计属于本编码范围之下的任何学校报表信息。
C1C2C3C4C5C6属于终端级权限, 只可查询审批统计本学校内的所有报表信息。
3.2 权限设计
根据访问控制[2]要求, 在数据库中设计模块表、功能表和角色表等三类表。本系统按照组织机构、角色、权限三个部分设计如下:
(1) 组织机构:根据新疆的行政区划, 涉及15个地州、200多所职业院校。
(2) 角色:超级管理员、数据审核员 (自治区级) 、地州管理员、院校领导、院校管理员、院校填报员。
(3) 权限:对报表的下发、填写、功能菜单的选择等。
设计原理:首先创建根节点组织结构名称, 然后添加子节点为各个院校名称, 再把相关角色的用户分配到组织机构, 并为每个用户指定角色, 由角色和组织机构来确定用户的操作权限。
3.3 用户角色权限实现
权限控制Manage Controller依据需求设计相应功能方法如下:
实现后的主要页面如图1—图4所示。
4 结语
本文介绍了通过组织机构节点控制, 分配角色的用户分配到组织机构, 并为每个用户指定角色, 最后由角色和组织机构来确定用户的操作权限设计方法[5]。最终实现了系统管理员、教师用户、院校管理员、领导用户、地州管理员、数据审核员等几种角色的编码及菜单权限分配。符合VDP系统角色与权限的设计需求, 为整个系统的设计实现奠定了基础。
摘要:针对VDP系统中的用户、角色、权限访问控制的问题, 提出了一种基于编码的角色访问控制和用户权限设计的方法。利用角色访问控制技术可以有效地实现用户访问权限的动态管理, 取得了较好的效果。
关键词:角色,权限,设计
参考文献
[1]李忠雄, 唐雪梅.基于C#.NET的学生信息管理系统设计与实现[J].电脑与电信, 2011, 7:52-53.
[2]张锐, 张建林, 孙国忠.多业务系统的统一认证授权研究与设计[J].计算机工程与设计, 2009, 30 (8) :1826-1828.
[3]朱一群.基于用户信任的动态多级访问控制模型[J].计算机工程, 2011, 37 (23) :129-130.
[4]柳胜.性能测试从零开始:loadrunner入门[M].电子工业出版社, 2008:16-34
角色权限 篇3
系统主要包括身份认证模块、访问控制服务和RBAC角色管理模块。身份认证模块鉴定登录系统的用户身份。访问控制服务将访问控制系统生成的用户与角色、用户与权限的映射关系提供给应用系统。RBAC角色管理模块将请求执行的URL信息和用户相关信息在RBAC数据库中查找核对, 鉴别用户对他所请示的URL页面是否有权执行, 如果有, 则Web服务器解释请求, 生成功能菜单, 并在用户浏览器上显示结果。
1.1 基本类和接口设计
基于前面RBAC模型的阐述, 将权限管理划分为用户管理模块、角色管理模块、操作管理模块和角色权限控制模块四个部分。
用户管理模块包含用户管理类和用户管理接口。用户管理类包括用户ID、登录账号、用户姓名密码、对应的角色和角色ID。用户管理接口完成用户的增加、删除、查询、用户信息的修改保存以及为用户分配角色, 这些功能通过接口提供给外部使用, 还可以作为共享服务提供给其他系统功能模块。
角色管理模块用来对角色和角色之间关系进行操作, 包含角色管理类和角色管理接口。角色管理类里包括角色ID、角色描述、角色名称和父角色, 父角色可为空。通过角色管理接口可执行根据角色ID读取角色对象、添加保存角色信息到数据库、在两个已有角色间建立新继承关系、分页列出角色列表等。
操作管理模块主要管理系统中的可控对象以及对该对象能进行的各种操作, 包含操作管理类和操作管理接口。用户可以访问的资源是指系统中文件、数据、按钮、菜单及各种业务功能模块, 不同岗位的用户拥有的操作也不同, 访问对象和对该对象所进行的操作构成了一个角色对该资源的访问权限。操作管理类包括操作资源ID、角色描述、对应链接和操作名称。操作管理接口可执行根据操作ID返回操作对象、分页列出操作对象、删除操作对象、保存更新操作对象和对象集。
角色权限控制模块其功能是实现用户角色的分配和回收, 它包括角色权限类和角色权限控制接口。其中角色权限类包括操作资源ID和角色ID, 角色权限控制接口可执行删除角色权限对象、根据ID读取相应角色权限、分页列出角色权限、保存并更新角色权限和角色集。
1.2 数据库设计
考虑RBAC权限管理模块的需求, 主要设计有用户表, 角色表, 操作资源表, 角色权限表, 操作日志表。角色权限表用于存储角色可执行的操作信息。操作资源表存储用户可执行的各种操作的URL地址, Link字段含义是用户操作所对应的应用数据库中的URL连接。操作日志表用来存储用户访问系统时产生的日志。
模块在实际项目中的应用
医药公司销售查询系统面向的用户主要是药品供应商、医药公司销售人员、药品购买客户 (药店、医院) , 每个访问系统的用户都是实名制, 每个用户都有自己唯一的角色, 一个角色可以对应多个用户。管理员在遵循RBAC模型的角色定义原则的前提下根据使用系统的用户和医药公司岗位设定的实际需求, 设计本系统的角色以及分配角色权限如图1所示, 系统管理员可以通过角色管理服务来修改设计系统角色, 通过角色动作关联管理服务对不同角色的操作权限进行设置, 通过用户管理服务管理用户信息并且为用户分配角色。
摘要:首先对RBAC产生、发展和现状及其主要模型进行简单介绍, 然后根据RBAC权限管理模型的关键内容, 设计了一个较通用的RBAC权限管理模块, 给出关键接口说明和数据库描述。最后展示了该RBAC权限管理模块在实际项目中的应用。
关键词:访问控制,基于角色的访问控制,RBAC模型,权限管理模块
参考文献
[1]叶春晓, 符云清, 吴中福.RBAC中权限扩展的实现[J].计算机工程, 2005, 9 (31) :141-142, 172.
角色权限 篇4
质量认证是由权威公正的第三方机构对产品或体系做出正确可靠的评价, 为人们提供完全可以信赖的质量信息。由此可以提高供方的质量信誉, 指导需方选择供方单位, 促进企业健全质量体系, 增强国际市场竞争能力, 有利于保护消费者利益。
我国质量认证工作是从1987年ISO9000族国际标准正式发布后起步的。众多企业在贸易过程中, 逐渐认识到进行质量体系认证可成为企业提高产品质量、增强市场竞争能力、和国际接轨的有效途径, 取得了可喜的初步成果。但对质量体系认证过程中涉及的各项活动和管理工作, 例如文件体系的建立与管理, 内审、管理评审的实施, 客户投诉受理、处理、反馈, 满意度调查、分析等, 大部分还停留在手工和脑力劳动阶段, 不仅耗费了大量的人力、物力、财力, 而且工作效率低, 利用率不高, 无法跟上质量变化的要求。
为了融合ISO9000、ISO14000和OHSAS18000三种管理体系认证工作, 开发专业化的认证管理软件, 针对企业在日常管理中最繁杂、最易出错的活动设计, 为推行三种管理体系的企业提供智能化的管理工具, 是非常必要的。
1 系统结构设计
在分析质量认证中心和认证企业的需求, 并结合三大管理体系标准的相关要求, 确定系统总体功能模块如图1所示:
(1) 用户权限管理
由于系统的安全性要求, 需要为访问者提供最合适的服务, 这就要求系统必须要能够控制:哪些访问者能够访问系统的信息, 访问者访问的是“什么信息”, 访问者对他所访问的数据拥有什么样的“权限”, 这就涉及到安全的重要内容:权限管理与访问控制。
(2) 人力资源管理
人力资源是质量管理体系所需要的三大资源之一, 人力资源管理模块要为每个岗位设置其在教育、职称、培训、经验、技能、业绩等能力的要求, 记录每个员工已达到的个人能力, 据此评价员工是否符合其岗位的各项能力要求, 针对不合格评价结果制定相应的处理措施, 制定培训计划, 记录计划的实施结果。
(3) 内部文件控制
质量体系文件化是按ISO9000族国际标准建立企业质量体系的重要原则之一。质量体系的文件包括质量方针、质量目标、质量手册、程序文件等, 这些文件应予以必需的控制, 文件发布前要得到审核、批准, 以确保文件是充分与适宜的, 必要时对文件进行更新, 并再次审核、批准, 并确保文件的更改和现行修订状态得到识别, 控制文件的分发。
(4) 顾客投诉处理
在顾客和市场信息中, 顾客投诉是最常见却是利用得最不够的资源, 企业应改变对投诉的负面态度, 善用投诉管理系统, 让每一个投诉都纳入体系管理, 得到及时妥善的解决, 把投诉转化成为公司增值的资产。
(5) 顾客满意度测量
顾客满意度调查主要解决两个问题:调查表设计和调查表回收后的数据统计处理。通过制定调查计划和设计调查方案, 自动生成调查所需问卷。调查表回收后录入每张调查表的答案及重视度, 产生不同类型的测量分析报告。
(6) 计量器具管理
计量是质量的保证。本模块具体依据ISO10012标准开发研制, 直接由计量和标准化方面的专家提出计量管理的功能设置, 避免计量器具的丢失和漏检, 合理安排计量器具的检定工作进度, 从而降低企业成本, 减少资金浪费, 提高企业计量管理的科技水平。
(7) 内部审核
为了验证按系列标准建立的管理体系的有效性, 供方应有策划地进行内部审核。通过内部审核, 确认质量活动是否符合计划安排, 查明管理体系的运行是否有效地达到规定的质量目标, 从而为改善管理体系提供信息。
(8) 管理评审
管理评审是ISO9001标准对最高管理者提出的一项重要质量活动。通过管理评审, 最高管理者可以全面检查和评价组织的质量方针、目标及质量管理体系持续的适宜性、充分性和有效性, 评价质量管理体系改进的机会和变更的需要, 包括质量方针、目标是否需要修订等。
2 基于角色的访问控制的改进与优化
传统的应用系统通常是验证用户的用户名和口令来确定用户的身份, 同时, 系统通过维护一张访问控制列ACL表确定每个用户对特定系统对象的操作权限, 这种方法因为简便易行而得到了普遍的应用。但是也产生了权限管理混乱、系统安全性较低以及权限管理依赖于访问控制应用等问题。
Sandhu等学者提出一套基于角色的访问控制。通过定义组织内的角色, 再根据授权策略给这些角色分配相应的权限, 然后对不同的用户分配不同的角色。通过用户所拥有的角色和系统所制定的访问控制策略来对用户的访问做出决策。
基于角色的访问控制具有如下特点:
(1) 基于角色的策略将单独对特定用户授权分成两个动作:给用户赋予角色, 给予角色对对象的权限。
(2) 角色在实际应用也要分层的, 权限是通过继承方式组织的。
(3) 角色允许单独用户对数据传播最少的特权。被授予超级用户权限的用户, 不一定使用超级权限, 除非有特殊的需求, 而只使用普通角色所拥有的权限。这样可以降低入侵者冒充合法用户对数据造成破坏。
权限管理是管理信息系统重要的组成部分, 也是管理信息系统实施成功的保证。基于角色的访问控制RBAC在实际应用中所暴露出来的局限性主要表现在模型粗糙、灵活性差、算法复杂、运行代价高等四个方面。
为此, 本文结合RBAC模型, 对其权限控制方法进行改进与优化, 通过读取用户在数据库中存储的授权信息, 动态生成用户功能树的方法来实现权限管理, 管理员可以通过模块授权、角色授权和功能点授权三种方法对用户授权, 具体流程如图2所示。
基于角色的权限管理具有以下特点:
(1) 基于角色授权的思想, 支持对用户进行模块授权、角色授权、功能点授权。模块授权因为模块下可能有子模块、功能点, 所以可以对一些权限比较大的用户进行授权, 角色授权可以对一些权限较小的用户授权, 功能点授权可以对一些权限特别小的用户授权, 当然实际应用的时候是用这三者的结合, 一般情况下要对一个用户同时进行模块授权、角色授权和功能点授权。
(2) 若系统中一个用户比另一个用户多一个功能点, 就可以把这两个用户看成一种角色, 再对多一个功能点的用户进行功能点授权, 较好地避免了角色泛滥, 解决了实际应用中的问题。
(3) 授权完全是动态的。系统管理员可以通过浏览器在网页上对其他用户的权限进行动态的修改。
3 关键技术及实现
(1) 软件开发工具的选择
目前, 较流行的软件开发工具有PB, VB, VC, Delphi等, 其中由于PowerBuilder可为用户提供一个高效而快捷的开发环境, 使开发人员以高速度、低成本开发出质量更高、功能更强的应用程序而被广大数据库应用开发人员所使用。
(2) 后台数据库的选择
为了提高系统使用的灵活性, 使系统既可在单机板上安装运行, 也可在网络环境下安装运行, 本系统在开发过程中选择了PowerBuilder自身携带的SQLAnywhere5.5数据库作为整个系统的后台数据库。对于本系统所涉及的数据量, 也并不要求使用大型数据库, 选择SQL Anywhere5. 5小型数据库可以满足系统的运行速度要求。
(3) 数据库的递归查询
当一个管理员要给一个员工进行功能点的授权的时候, 可以授给员工的功能点为该管理员的可以授予的功能点减去该员工已拥有的功能点, 而员工拥有的功能权限为:“用户功能权限”+“用户模块权限”+“用户角色功能权限”+“用户角色模块权限”, 而模块权限、角色权限又是继承的, 所以得到该管理员能授予的功能点的SQL语句为:
select a.function-id, a.function-name from (select d-function.function-id, function-name from d-r-fun-manager, d-function where manager-id=″+manager-id+″ and d-function.function-id=d-r-fun-manager.function-id union select function-id, function-name from d-function where module-id in (select module-id FROM d-module start with module-id in (select module-id from d-r-module-manager where manager-id= ″+manager-id+″) Connect By Prior module-id = up-module-id) ) a where a.function-id not in (select function-id from d-r-userfun where user-id=″+user-id+″ union select function-id from d-function where module-id in (select module-id FROM d-module start with module-id in (select module-id from d-r-usermodule where user-id=″+user-id+″) Connect By Prior module-id = up-module-id) )
(4) 树型视图
为了方便用户的选择, 直观地体现现实的层次关系, 本系统在四处界面的设计都采用了层次结构, 在“个人能力管理”时通过”部门——岗位——人员”的顺序选择到某一具体人员, 在文件控制模块中用户在窗口左侧通过展开树形结构下根、文件类型、文件名和版本号四层选项确定要修改、要发放或要作废的文件。
此类界面采用树型视图控件treeview来实现, 其特点是信息项呈树状层次结构, 且形式灵活, 可展开也可回缩, 使用鼠标进行控制, 操作简便。因此在应用中, 可将其与DataWindow配合, 一个提供信息的分类体系, 一个提供具体信息, 实现信息的多级分类检索, 这样可大大地方便查询, 提高系统的实用性。
(5) OLE技术的应用
本系统在查看和修改质量体系文件时将调用word和excel外部程序进行文档的打开与编辑, 这就要使用PowerBuilder所支持的OLE技术。
OLE (Object linking and Embedding) 即对象的链接与嵌入, 它为应用程序之间共享数据提供了一条途径。
在PowerBuilder应用程序中, 可以调用Windows系统中已经注册的OLE对象, 其调用方法有两种, 一种是使用PowerBuilder提供的OLE控件, 第二种是在脚本中通过函数激活OLE服务器来获取OLE对象, 本文系统采用后一种方法。
摘要:设计了融合ISO9000、ISO14000和OHSAS18000三种管理体系认证的认证管理系统, 并采用基于角色授权的思想, 对其权限控制方法进行改进与优化, 通过读取用户在数据库中存储的授权信息, 动态生成用户功能树的方法来实现权限管理, 管理员可以通过模块授权、角色授权和功能点授权三种方法对用户授权, 以供应用系统使用。
关键词:角色权限管理,认证管理系统,功能权限树
参考文献
[1]质量认证教程[Z].北京:中国标准出版社, 1997:5-7.
[2]周绍江, 张九红.质量管理办公自动化[J].水利水电快报, 2003, 24 (2) :28-29.
[3]智勇.基于角色的权限管理在教学资源管理系统中的引用[J].计算机与现代化, 2003 (7) :7-15.
[4]黄凯, 陈云, 阎如忠.基于角色的B/S系统访问控制的研究与应用[J].计算机工程与应用, 2003 (20) :227-229.
[5]苏子林, 翟金刚.通用的应用系统权限管理研究[J].现代电子技术, 2004, 11:3-5.
[6]刘军, 阳小华, 杨星.一种新的基于B/S模式的权限管理方案[J].衡阳南华大学, 2006, 1 (3) :2-3.
角色权限 篇5
企业中越来越多的业务需要各种软件的支撑。随着软件使用的不断增长,对如何有效、安全地对用户权限进行管理是发展中需要解决的一个问题。与此同时,在不同的软件中使用不同的用户登录方式等,将带来繁琐与冗余问题的产生,降低管理效率。访问控制作为计算机网络信息安全管理的主要策略,通过某种途径显式地允许或限制用户、组或角色对信息资源的访问能力及范围。
常用的自主访问控制(DAC)和强制访问控制(MAC)方法由主体与访问权限直接发生关系,根据主客体的所属关系或主客体的安全级来决定主体是否具有对客体的访问权。当访问用户的种类繁多、数量巨大并动态变化时,使用传统的访问控制方法变得非常困难[1]。基于角色访问控制RBAC(Role Based Access Control)是一种已经被广泛应用于大型企业的计算机网络中实施访问控制的访问控制技术,Sandhu等提出的RBAC96模型得到了学术界的广泛认可[2]。
RBAC96模型包括了RBAC0、RBAC1、RBAC2、RBAC3四个模型。
RBAC0包含四个基本要素:用户、角色、会话和访问权限。用户在一次会话中激活所属角色的一个子集,获得一组访问权限,即可对相关客体执行规定的操作,任何非显式授予的权限都是被禁止的。
RBAC1是对RBAC0的扩充,在RBAC0的基础上加入了角色层次关系,根据组织内部权力和责任的结构来构造角色与角色之间的层次关系。
RBAC2也是RBAC0的补充,但与RBAC1不同的是RBAC2加进了约束的概念。RBAC2中的约束规则主要有:最小权限、互斥角色、基数约束与角色容量、先决条件、等级间的互斥角色等。而RBAC3模型是对RBAC1和RBAC2的集成,包括角色的层次关系与约束关系。
基于角色访问控制方法引入角色的概念作为中介,管理员根据需要定义各种角色,并设置合适的访问权限,而用户根据其责任再被指派为不同的角色。这样,整个访问控制过程就分成了两部分,即访问权限与角色相关联,角色再与用户相关联,从而实现了用户与访问权限的逻辑分离。基于该关系模型,将职责分离原则用于了系统权限管理中,通过利用角色与权限之间较为稳定的变化来简化权限管理,提高了权限管理的效率。
在该关系模型中,能够通过角色的继承关系进行子角色权限与父角色权限的继承,并通过引入私有角色这一定义来限制权限的继承。如果通过增加新的私有角色来保留所需要的权限不被继承,那么将会增加角色的数量,且角色关系的继承与实际管理中的角色继承之间的对应关系也将变得更为复杂,使得原先引入角色以期简化权限管理的效果降低。角色继承机制与具体权限分配方法的完善,是该模型的仍需要进行进一步研究的区域。
通过对RBAC相关的研究与企业实际业务需求的研究,现提出了一个基于RBAC模型的角色继承与权限继承模型。主要特点是增加了权限的许可类型,归纳了角色继承中的权限有效值计算,以及对权限进行分组,引入权限组及其继承的相关概念,以满足实际系统应用中的现实权限管理需求,增加角色与权限关系的灵活性。特别地对于快速成长中的企业与软件应用系统,能提高权限管理效率与直观性,降低相应的管理成本。
2 角色继承与权限继承模型的描述与定义
2.1 元素的描述与定义
用户:用户是一个可以独立访问数据或用数据表示的资源的主体,用USERS表示用户集合。一般情况下指人或登录帐户。
权限:权限是对数据或用数据表示的资源进行访问的许可。用PERMISSIONS表示一个权限集合。
角色:角色是指一个组织或任务中的工作或位置,它代表了一种资格、权利和责任。用ROLES表示一个角色集合。
权限组:权限组表示一组权限的集合。用PGROUPS表示该集合,即埚PERMISSIONS哿PGROUPS。
元素之间的定义如下关系:
用户角色委派:用户角色委派是一个二元关系,设UR哿USERS×ROLES是一个用户角色委派关系集合,那么(u,r)∈UR表示用户u被委派了一个角色r。
角色权限委派:角色权限委派是一个三元关系,设RP哿ROLES×PERMISSIONS×TYPE是一个角色权限委派关系集合,则(r,p,t∈RP表示角色r与权限p具有设置t。这里把许可权限设为允许和拒绝两种值,即t∈{ALLOW,DENY}。
用户权限集合:令P(r)为角色r所拥有的权限委派集合。
角色继承:角色继承是一个二元关系,设RI哿ROLES×ROLES是一个继承关系集合,则(r1,r2)∈RI表示角色r2继承角色r1,记为r1→r2。如果r1→r2,那么对于坌p∈P(r1),有p∈P(r2)。
2.2 角色最终权限有效值的计算
当角色之间有继承时,涉及到角色所拥有权限集合的有效值计算。定义如下的继承规则来计算权限有效值,这里将角色r与权限p具有设置的有效值t设为V(r,p):
规则1:显式权限在继承权限之前
规则2:拒绝权限设置在允许权限设置之前
规则3:继承距离较近权限在继承距离较远权限之前
对于规则2,当显式权限设置相冲突或相同距离的继承权限设定相冲突时,应用该规则。
因此,对于角色r1、r2、r3、r4且r1→r2→r3,r1→r4:
如果r1同时定义了对于p的两个的委派设置,一个为允许一个为拒绝,最终有效值为拒绝;
如果r1与r2同时定义了对于p的委派设置,显式权限设置优先,即r1权限设置生效:
如果r2与r3同时定义了对于p的委派设置,距离较近权限设置优先,即r2权限设置生效:
如果r2与r4同时定义了对于p的委派设置,则最终有效值为逻辑与,即等距离情况下如果存在拒绝则最终有效值为拒绝:
对于角色继承中的权限最终有效值的计算,伪代码如下:
2.3 扩展至权限组的角色最终权限有效值的计算
权限组权限集合:令PG(pg)为权限组pg所拥有的权限集合。
权限组继承:权限组继承是一个二元关系,设PI哿PGROUPS×PGROUPS是一个继承关系集合,则(pg1,pg2)∈PI表示权限组pg2继承权限组pg1,记为pg1→pg2.如果pg1→r2,那么对于坌p∈PG(pg1),有p∈PG(pg2).
角色权限组委派:角色权限组委派是一个三元关系,设RG哿ROLES×PGROUP×TYPE是一个权限配置关系集合,则(r,pg,t)∈RG表示角色r与权限组pg具有设置t。
扩展角色权限委派为角色权限组委派后,角色最终权限有效值的计算也相应扩展。当角色与权限之间没有设定时,将扩展为该角色与权限组之间所拥有权限集合的计算。对于可继承的权限组,角色与权限组的有效值计算规则与可继承角色与权限的计算规则基本相同,描述如下:
步骤1:角色r与权限p之间设置了权限有效值t,返回t;否则转步骤2。
步骤2:当前权限或权限组没有父权限组,返回空;否则转步骤3。
步骤3:按广度优先,遍历当前权限或权限组的父权限组与角色r之间设置,如果存在一个或多个设置,返回有效值的逻辑与;否则转步骤2。
对于角色与可继承权限组权限最终有效值的计算,伪代码如下:
3 基于该模型的访问控制应用
对实际业务的需求进行分析与研究后,引入了权限组的概念,该权限组可与角色之间能委派权限许可,并可被继承。由于权限对应于与其特定操作并具有原子性,因而权限组在角色与权限之间增加了一层逻辑层。在应用中,权限组虽然不是实体操作,但能作为权限的集合对业务逻辑进行进一步抽象,加强单以组织结构为划分原则的角色分配中不足的灵活性与逻辑直观性。
举例而言,在业务逻辑中常常需要对申请与审批环节进行交错的权限许可。可以通过增加审批组的角色而加以区分,但使用该方式将会造成额外的角色出现,增加了角色的数量,不能真实地反映组织管理结构。其次,当审批环节本身的权限发生变化,当多个角色直接与权限设置了许可,此时需要修改的许可映射数量将相对于角色数量成倍增长。另一方面,当业务需要对一组特定高级别权限进行拒绝访问设置时,增加权限组进行限制将比增加角色进行限制更直观并符合管理要求。因此引入权限组后能减少角色与权限直接映射的数量,简化了多个权限按集合进行许可的业务逻辑。
在应用系统中使用可继承角色及权限组时仍然需要考虑如下实际业务需求:
比较增加角色与增加权限组之后,增加的映射关系数量以及此类映射的稳定性。
过多层次的权限组将会降低权限判断的直观性,在已有的角色继承层次上增加管理的复杂度。
对于角色或权限组继承,算法按广度优先进行计算,允许出现环路的层次,但此情况在现实管理上是没有实际意义的,应当避免。
角色和权限组的设定原则是实际业务逻辑,避免将业务逻辑反约束于权限模型。
3.1 模型的应用解决方案
该应用解决方案的架构如图1所示。
3.2 活动目录作为用户库
对用户、角色以及用户角色分配的实现,在基于Windows的软件平台上,以减少角色的重复设置为目的,最大可能地利用现有的IT管理投资,使用活动目录作为角色设置与分配的基础。
活动目录是一种事务性数据库,通过使用结构化的数据存储作为目录信息的逻辑化、分层结构基础,采用面向对象的树形结构对它所在的域网络上的共享资源和用户信息进行逻辑化的分层管理。使用其中的“组织单元容器对象”和“组对象”可以有效地进行用户角色和权限信息的管理,“组织单元容器”对象,用来装载用户、组、打印机等对象,提供了“委派控制”的功能可以用来设定管理权,通过给一个管理人员仅在一个容器中创建或修改对象的权力,就可以把他限制在那个容器中;而“组对象”的“Member”属性以及用户对象的“MemberOf”属性可以方便地实现用户角色的安全管理和指派。为了保证域控制器上的目录数据一致性,通过定期与事件触发,通过标准网络协议进行复制。
因此在用户账户管理中,我们使用活动目录作为统一的用户库,通过域用户作为解决方案中的用户,满足了操作系统与软件系统的单一用户帐户登录的功能。在活动目录中,利用活动目录提供的安全服务,减少了该安全代码量,提高了账户安全设置的灵活度和统一性。与此同时,在组织内使用统一的用户登录与认证方式,将能提高管理效率,简化管理复杂度。
3.3 权限组件数据库
权限组件数据库使用基于SQL Server的关系数据库的解决方案,按本模型的描述与定义与按第三范式原则进行数据库模式与表的建立,并基于活动目录的域用户进行访问控制,以区分例如管理员、一般用户及访客的操作权限级别,增加数据库的安全性。
3.4 同步模块
同步模块负责将活动目录中的用户、组织单元容器和组对象信息按一定格式同步到主数据库中。活动目录使用轻量目录访问协议(LDAP),同步模块通过LDAP可以提取活动目录中的信息。在编程接口上,.net框架存在命名空间System.DirectoryServices,包含了各种对活动目录进行操作的方法。通过调用该命名空间进行LDAP查询语句,并使用以下两种活动目录信息同步方案:
定时同步:系统按设定的日程,遍历对象空间并将结果更新至主数据库中。在遍历时可以通过判断对象的更新时序号USN(Update Sequence Number),进行增量更新。
手动同步:系统按管理员的请求,手动触发一次同步。
3.5 权限设置模块
权限设置模块负责权限的设置与存储功能。由于权限配置是一个三元关系,因此模块提供角色权限委派、角色权限组委派的关系设置,权限与权限组关系设置,权限组继承关系设置的创建、修改、删除等基础功能。通过权限验证模块的有效值计算功能模块,提供按用户出发、角色出发、权限出发和权限组出发的不同委派关系设置及最终有效值的视图。
3.6 权限验证模块
应用系统向权限验证模块提出用户账户与权限请求,权限验证模块从主数据库中提取相关数据,运用本模型的定义和规则,计算该次请求的最终有效值并反馈给应用系统。
临时用户权限委托
实际业务中,当用户临时由于特殊原因,需要将自身的权限委托给其他用户。在该委托关系生效时,权限验证模块同时计算委托用户与被委托用户的权限有效值,当发生重复时按逻辑或进行结果计算并反馈给应用系统,以此计算规则满足该业务需求。
缓存
在应用中,往往一个角色将对特定数量的权限频繁提出验证请求,而在角色层次与权限组层次的数量都达到较大规模时,计算复杂度将以平方数级别增长。因而通过使用缓存技术将反复进行的相同计算结果(会话结果)进行缓存,将提高验证的速度并降低系统负载。因而本模块提供验证请求的会话结果缓存功能,将角色的权限验证结果存入主数据库中进行缓存。一旦由于角色、权限及相关设置的修改,将触发该缓存的有效期终止,并在下一次相同验证请求发生时,重新计算有效值并存入缓存。
4 结束语
在对基于角色访问控制模型的分析与研究基础上,通过定义角色继承、权限组以及权限组继承作为用户与被访问客体的中间媒介,使得权限控制管理的复杂度得到了降低,提高了权限控制的灵活性。在此模型基础上,通过对现实中的业务逻辑进行分析,集成了活动目录技术作为统一用户库并提出了较为完善的访问控制解决方案。下一步的研究工作将在此模型的基础上,进一步研究角色与权限委派中访问设置类型的扩展,将该类型扩展为更细粒度的定义,以使得本模型成为一个应用性更好的访问控制模型。
摘要:基于对RBAC模型及相关模型中角色继承规则,引入权限组等概念,提出了一个改进的角色与权限层次关系模型。在此模型上进行访问控制应用的设计,集成活动目录技术作为统一的人员库,形成了一个较为完善的访问控制解决方案,使基于角色的访问控制更为灵活与利于理解。
关键词:访问控制,基于角色的访问控制,角色继承,权限继承,活动目录
参考文献
[1]钟华,冯玉琳,姜洪安.扩充角色层次关系模型及其应用[J].软件学报,2000,11(6):779-784.
[2]Sandhu R S,Coyne E J,Feinstein H L,et,al.Role-based access control models[J].IEEE Computer,1996,29(2):38-47.
[3]鞠成东,廖明宏.基于RBAC模型的角色权限及层次关系研究[J].哈尔滨理工大学学报,2005,10(4):95-99.
[4]唐瑞春,毛健,徐建良,等.基于活动目录的通用授权管理平台的设计与实现[J].中国海洋大学学报,2006,36(6):1013-1018.
[5]Kalam A A E,Baida R E,Balbiani P,et,al.Organization based access control[C]//Policies for Distributed Systems and Networks,2003.Pro-ceedings.POLICY 2003.IEEE 4th International Workshop on,2003:120-131.
[6]Qi Guo,Vaidya J,Atluri V.The Role Hierarchy Mining Problem:Discovery of Optimal Role Hierarchies[C]//Computer Security Applica-tions Conference,2008.ACSAC 2008.Annual,2008:237-246.
角色权限 篇6
在B/S信息管理系统中, 实现权限动态分配的方法有多种。从操作对象上看, 可以分为两种:以用户为中心的方法和以角色为中心的方法。以用户为中心的方法是对每个用户直接设置权限, 而以角色为中心的方法是给每个角色授权, 这是一种间接设置权限的方法。这种以角色为中心的方法, 是现在使用最多的一种方法, 但相对复杂一点。它的基本做法是将系统中的所有用户分成多个不同的角色, 属于同一角色的用户具有相同的操作权限。这样, 在实现时就可以针对角色设置权限。基于角色的动态权限分配具有很大的灵活性, 主要体现在不用修改程序代码就可以实现操作权限的调整, 更好地适应了由于业务的调整或变化所带来的操作权限的变化。本文采用了基于角色访问控制 (RBAC, Role Based Access Control) 的基本思想, 巧妙地利用了Web控件Tree View及Menu, 设计了在B/S模式下, 根据不同的用户, 不同的角色权限, 通过数据库表的设计, 动态生成用户权限树型菜单和下拉菜单的具体实现方法。
2 角色访问控制 (RBAC) 的思想
基于角色的访问控制在用户和权限操作之间引入角色 (Role) 的概念, 其目的是为了隔离用户与用户所具有的权限。分配给每个用户一个合适的角色, 每个角色都具有其对应的权限。一个角色也可以有多个用户, 一个用户可以有多个角色。一个角色可以有多个权限, 相同的权限也可以赋予多个角色。角色作为中间桥梁把用户和权限联系起来, 一个角色与权限的关联可以看作该角色拥有的一组权限的集合。权限赋予角色, 角色分配给用户。RBAC是实施面向企业的安全策略的一种有效的访问控制方式, 其具有灵活性、方便性和安全性的特点, 目前在大型数据库系统的权限管理中得到普遍应用。角色访问控制 (RBAC) 基本模型如图1所示。
3. NET架构与Web Service
.NET框架 (.NET Framework) 是由微软开发, 一个致力于敏捷软件开发 (Agile softwaredevelopment) 、快速应用开发 (Rap⁃idapplication development) 、平台无关性和网络透明化的软件开发平台。.NET是微软为下一个十年对服务器和桌面型软件工程迈出的第一步。.NET包含许多有助于互联网和内部网应用迅捷开发的技术。从层次结构来看, .NET框架又包括三个主要组成部分:公共语言运行时 (CLR:Common Language Runtime) 、服务框架 (Services Framework) 和上层的两类应用模板——传统的Windows应用程序模板 (Win Forms) 和基于ASP.NET的面向Web的网络应用程序模板 (Web Forms和Web Services) 。
Web Service技术是一种应用程序, 其作用是向用户提供某些功能, 并以受控的方式提供一些服务和数据访问, 其开放接口的访问方式, 可以在任何支持这些标准的操作系统中使用, 从而为跨平台的开发奠定了基础。同时出于安全性的考虑, 无论是个人或公司站点, 都不可能完全开放的进行信息共享, 这个时候, Web Service的出现解决就解决了这个问题。Web Ser⁃vice主要由四部分组成, 分别是Web服务, 服务的提供方、服务的请求方和服务的注册机构。
4 数据库表的设计
数据库表的设计, DBMS采用微软的SQL SERVER 2012, 7张表的设计如下。
部门 (bm) 表的结构如表1所示。
部门角色 (bmjs) 表的结构如表2所示。
功能树 (gns) 表的结构如表3所示。
角色 (js) 表的结构如表4所示。
角色功能树 (jsgns) 表的结构如表5所示。
用户 (YH) 表的结构如表6所示。
当然该表还包括姓名、邮编、证件类型、职务、电话、进公司时间、性别、地址、证件号码、员工编号、员工状态、离开时间等字段。
用户角色 (YHJS) 表的结构如表7所示。
5 基于角色的权限动态分配的实现思路及模块划分。
基于角色的权限动态分配的实现思路:
1) 根据用户表的编号, 从用户角色表中获取用户所属角色;
2) 再根据角色编号从角色功能树表和功能树表中获取可以操作的所有资源;
用Treeview控件或menu控件动态实现用户权限树型菜单或下拉菜单的基本思想是:根据角色访问控制 (RBAC) 的基本原理, 给用户分配不同的角色, 每个角色对应一些权限, 然后根据用户ID获取用户对应的角色集合, 由角色集合获取对应的权限集合, 再由权限集合利用Treeview或menu控件动态生成一棵由该用户对应的角色能访问的页面 (模块) 组成的树型菜单或下拉菜单。这样, 用户无权访问的页面在权限树型菜单或下拉菜单就不会出现, 不同的用户进入的界面不同, 实现了用户权限的统一管理。
权限管理系统分为:”部门管理”、“用户管理”和“角色管理”3个功能模块。
1) 部门管理在:主要分为添加、删除、修改和查询。添加1个部门时, 同时添加部门对应的角色 (可能多个) 。
2) 用户管理:主要分为添加、删除、修改和查询。添加一个用户时, 采用用户、部门、角色进行用户角色分配 (因为一个员工属于1个部门) , 即添加1个用户时, 同时分配该用户相对应的角色。
3) 角色管理:主要分为添加、删除、修改和查询。在添加角色时同时分配功能树。
6 系统中Web Service的设计应用
动态权限管理系统中大部分的逻辑运算和数据的访问都是在Web Service中进行的, 客户端利用Web Service的方法对具体功能进行实现。在表8中将列出Web Service的设计应用。
7 具体实现
系统开发平台采用微软Visual studio 2010。开发语言asp.net (c#) 。角色添加及分配的功能树的运行主界面如图2所示。其中树型菜单是采用Tree View控件根据数据库表动态进行绑定的。
物资管理部门的普通员工登录系统后根据权限管理系统自动生成的下拉菜单 (利用Menu控件) 如图3所示。
基于角色的权限分配系统的下拉菜单的生成核心代码如下, 用到递归算法。
8 结论
.NET平台下角色访问动态权限管理重点依赖于数据库的设计, 根据数据库和角色分配权限原理, 动态的生成树型和下拉菜单。同时因为数据库的一致性, 所以很容易推广到其他的Web平台。该权限分配系统在上海某园林公司得到了具体的应用。
参考文献
[1]杜利峰, 许淳.基于ASP.NET权限动态分配的设计与实现[J].现代电子技术, 2012, 35 (18) :36.
[2]梁智, 沈倩.ASP.NET MVC下基于RBAC权限认证的设计与实现[J].重庆理工大学学报:自然科学, 2011, 25 (9) :75.
[3]王珊, 萨师煊.数据库系统概论[M].北京:高等教育出版社, 2006.
[4]詹英, 林苏映.数据库技术与应用-SQL Server 2012教程[M].北京:清华大学出版社, 2014.
[5]李增民, 苗荣.ASP.NET4.5高级编程[M].北京:高等教育出版社, 2014.
角色权限 篇7
关键词:角色,评分,安全
1 引言
随着信息技术和互联网技术的发展,网络办公的兴起,越来越多的企业事业单位都办起了自己的各种基于网络的办公系统。陕西工业职业技术学院作为教育部全国首批高职院校教育信息化试点单位,为适应新形式下的学院干部测评、先进评选、科研项目评选等需求,结合自身学院实际情况,充分利用学院现有网络平台,开发了基于网络的无记名评分系统。
2 角色权限设计和功能划分
2.1 角色权限
基于角色权限的无记名评分系统是一个通用系统,可根据学院不同的活动要求定制一个特定系统。从用户的角度出发,用户角色设地为三类,超级系统管理员、系统管理员由和普通用户。
超级系统管理员在后台可定制系统,定制系统主题、定制Logo、定制评分规则和管理系统管理员信息等。
系统管理员在后台设定本次活动的主题相关信息、添加被评分对象的基本信息、上传被评分对象(或项目)的资料、影视和照片等信息。系统管理员可以在后台设定参加评分人员的相关条件,并按照活动要求选择用户名和密码是由系统随机生成或是用户自己注册。系统管理员可以在后台备份数据库,导出数据库。
参与评分人员登录系统后可阅读被评分对象(或项目)的资料、影视和照片等信息,依次评分。参与评分人员在规定时间内可对被评对象(或项目)进行评分、修改、保存。对所有被评分对象评分完成后可确认提交,提交后,则评分值不可次进行修改。可根据本次活动要求设定是否允许参与评分人员查看其他人的评分情况。
系统管理员可以随时查看活动进度、评分完成情况、以及参与评分人员人数及完成率(即已完成评分人数/应参加评分人数),可输出评分统计报表。
2.2 功能划分
针对系统需求分析情况,系统总体结构主要根据角色权限可划分为后台超级管理员模块、管理员模块与前台用户模块,三大模块又有相应的多个子模块组成。按照用户角色权限设计,各个角色功能如图1所示。
3 系统算法设计
考虑到系统是一个通用系统,本身受到多元因素的制约与影响,其模糊性、非确定性、难量化的特点,很难形成直观并清晰的评分规则。因此,评分系统设计时对于相关包含的评分因素、评分标准等各个方面,引入模糊数学的隶属理论,建立模糊数据模型。
3.1 建立数据模型
构建一个有限集合U={u1,u2,...,ui,...,um}(1垲i垲m)作为评分的因素集合,作为评分层次的评语集,如此,可以形成一个U×V模糊关系的m×n阶的矩阵。
构建好模糊矩阵后,如能够找到一个从U到V的模糊关系R,且R可表示为一个N×M的模糊矩阵,并且能够满足U中的一个元素映射为V上的一个模糊子集,即可确定R是U到V上的模糊隶属度变换,(U,V,R)就构成了一个综合模糊评价的矩阵模型。
基于模糊理论的评价模型构建好后,依据评分活动主题情况的实际要求,灵活设置,例如:在学校对干部年终进行测评时,给干部定性评价的评语层次可以划分为“优秀、合格、不合格”3个层次。因此,设定U={德,能,勤,绩,廉},m=5,v={优秀,合格,不合格},n=3。得到如下评价集合:
在评分过程中,对以上因素的权重也可能不相同,因此,需要设定一个在因素U上的分配权系数模糊子集T=(t1,t2,...,tN),根据具体情况可选取若干的方式来确定权重。则得到的模糊评价模型如下:
4 系统实现
系统采用B/S模式设计,选用ASP.net技术和SQL数据库技术进行开发,其应用逻辑由Web服务器承担,管理员人员的工作量少,客户端零安装,不需维护。在定制的学校处级干部部门及干部测评中以系统管理员的应用如图2所示。
在定制的学校处级干部部门及干部测评中以普通用户登录的应用如图3所示。
5 系统安全规划
任何一种评分系统首要考虑公平公正性,因此系统安全性至关重要。这些信息一旦被不怀好意者入侵篡改了数据,将对评分工作带来混乱、使得评分的公平性、公正性产生扰乱。
在数据库设计时要考虑几个问题:(1)进行必要的脚本审核,过滤掉“,;@/<>%”等特殊字符,防止SQL注入攻击;(2)对数据库中的关键字段信息进行md5加密等;(3)采用SSL来加密通信协议。
在操作系统配置安全策略时考虑的问题:(1)对操作系统账户口令设置要使用安全强壮密码,多使用一些非字母的特殊符号等;(2)删除不必要的操作系统账户;(3)关闭不需要的系统服务;(4)开启系统事件日志。
6 结束语
随着互联网+的推广、大数据技术、云技术的发展,人们的生活和互联网结合必将越来越紧密,各种基于网络的评分活动也将更加频繁,该基于网络的无记名评分系统在设计时引入了模糊理论,提高了系统的科学性,保证了评分的公正性。因为模糊评价中权重因素的确定需要采集大量的样本,工作量大,难以实现自动科学的设定权重,目前系统采用手动设定。该系统在陕西工业职业技术学院的干部年终考核测评和科研项目评选中得到应用,运行三年来安全稳定,受到使用者的好评。
参考文献
[1]时荣.基于Java Web技术的网上无记名评教系统设计与实现[J].电脑编程技巧与维护,2011,(12):66-68.
[2]谢季坚,刘承平.模糊数学方法及其应用[M].第二版,武汉:华中科技大学出版社,2016:113-135.
[3]刘敬轩.基于Web信息系统开发的技术要点探究[J].中国新通信,2014(21).
[4]金加和,张泯泯.基于Web挖掘的关联推荐算法研究[J].电子测试,2013(6).