细粒度客户端使用权限控制方法

文档序号:6379707阅读:220来源:国知局
专利名称:细粒度客户端使用权限控制方法
技术领域
本发明涉及计算机应用技术领域,特别是应用于工业现场的制造执行系统中,根据不同的用户角色权限对客户端使用权限进行精细控制的一种方法。
背景技术
在制造执行系统软件中,数据的准确性和安全性会直接影响后续的效率统计、成本核算等,部分行业中,由于生产工序繁多,软件系统的功能复杂,误操作的影响,轻则降低生产效率,造成统计误差,重则无法按时完成交付,造成经济损失。为避免这种人为的误操作及保证系统的安全性,在制造执行系统软件中,根据用户角色实现对业务操作功能的精细化权限控制是非常必要的。

发明内容
本发明为解决上述问题,提出一种细粒度客户端使用权限控制方法,本发明所采用的技术方案是
权限对页面、业务操作功能等的使用方式(以文件夹的权限为例,有只读和更改等权
限);
角色对功能具有不同使用权限的用户(例如管理员和普通用户);
功能软件表示层即页面中提供的业务操作(软件表示层中分为若干个页面,每个业务页面中又包含若干个功能)。功能的类型包括按钮、数据表格、文本框、下拉列表等。[权限分类]
基本权限是指功能的基本属性,一般在功能触发前进行控制,包括权限如下
(I)可见性(可见、不可见)。(2)可用性(可用、不可用)。特殊权限是指根据实际需求定义的限制,一般在用户触发功能后进行控制,包括权限如下
(I)二次验证。(2)控制键值。对于“二次验证”,是需要再次进行鉴权的权限控制。举例来说,假设某按钮的功能具有二次验证特殊权限控制属性,则用户A触发按钮后,对应的功能不会立即执行,而是先弹出对话框,提示输入具有二次验证权限的用户的授权信息,此功能常用于需要两级审核的业务处理情况。对于“控制键值”,是对任何需要权限控制对象的抽象或映射(是当使用功能的权限无法通过标志位“O”或“I”简单识别的一种补充方法,控制键值相当于一个参考条件值)。举例来说,假如,角色X对于某个重要功能有可用权限,但还要求需要入职10年以上的员工才能使用,那么可以设置一个“控制键值”为“10”,在功能触发后,首先判断该角色的入职年限,如果大于10,也执行该功能,否则,弹出提示,退出功能)
一种细粒度客户端使用权限控制方法,包括以下步骤·1)权限与功能关系的数据库的生成,包括定义用户、角色、页面、功能、角色对于页面的使用权限关系、角色对于页面上的功能的权限关系;
2)生成权限配置模块、权限获取模块、基本权限控制模块以及特殊权限控制模块,以用于在后续步骤中调用这些模块;
所述权限配置模块提供表示层即页面的交互方法,能用于配置角色的具体数据、页面的具体数据、功能的具体数据、角色对于页面的使用权限关系的具体数据、角色对于页面上的功能的权限关系的具体数据;
所述权限获取模块用于获取用户的页面权限和用户在页面上的功能的权限;
所述基本权限控制模块用于根据角色对页面上功能的基本权限值,设置功能的基本属
所述特殊权限控制模块用于根据角色对页面上功能的特殊权限值,对功能进行特殊权限控制;
3)上述两个步骤完成后,根据实际需求调用权限配置模块在数据库中分别添加角色的具体数据、页面的具体数据、功能的具体数据、以及角色对于页面的使用权限关系的具体数据、角色对于页面上的功能的权限关系的具体数据;
用户注册,需要至少提供用户名称,选择某种角色,注册信息保存到数据库;
用户登陆,系统根据用户在注册时候选择的角色,调用权限获取模块获取上述已经添加的角色对于页面的使用权限关系的具体数据,从而获取用户的页面权限,根据用户的页面权限,加载对应的页面;
用户选择进入某个页面时,系统根据用户在注册时候选择的角色,调用权限获取模块获取上述已经添加的角色对于页面上的功能的权限关系的具体数据,从而获取、缓存该用户在该页面上的所有功能的权限值,并调用基本权限控制模块设置页面上的功能的基本属性,然后显示该页面上对于该用户可见的功能,隐藏对于该用户不可见的功能,该页面上对于该用户可用的功能被设为可用,不可用的功能被设为不可用;
用户触发页面中某功能后,根据角色对于该功能的特殊权限值,调用特殊权限控制模块对该功能进行特殊权限控制。所述权限与功能关系的数据库的生成步骤包括以下表格的生成
在数据库中添加用户信息表,该表中至少包括以下几列用户标识、用户名称,角色标识、密码;
在数据库中添加角色信息表,该表中至少包括以下几列角色标识、角色名称;
在数据库中添加页面信息表,该表中至少包括以下几列页面标识、页面名称;
在数据库中添加功能信息表,该表中至少包括以下几列功能标识、页面标识、功能名称、功能类型;
在数据库中添加页面权限表,该表中至少包括以下几列页面权限标识即主键表识、页面标识、角色标识;
在数据库中添加功能权限表,该表中至少包括以下几列功能权限标识、角色标识、功
5能标识、权限值、控制键值。所述权限获取模块中包括两种权限获取方法
1)获取角色对于页面的使用权限的方法通过用户标识以及所选角色的角色标识在用户信息表、角色信息表、页面信息表、页面权限表中进行联合查询获取角色对页面的使用权限;
2)获取角色对于页面上的功能的权限的方法根据用户标识、角色标识、页面标识、功能标识在用户信息表、角色信息表、页面信息表、功能信息表、功能权限表中进行联合查询获取角色在某个页面上功能的权限。所述特殊权限控制包括二次验证的权限控制方法和控制键值的权限控制方法。所述二次验证的权限控制方法如下用户触发页面中某功能后,对应的功能不会立即执行,而是先弹出对话框,提示输入具有二次验证权限的用户的授权信息,如输入的二次验证权限的用户的授权信息正确,则对应的功能执行。所述控制键值的权限控制方法如下将功能的权限值中某一位作为控制键值位,用来表示控制键值是否生效;应用系统中依据实际需要编写代码来完成控制键值的具体数值设置,并以此控制键值的具体数值来进行特殊权限控制。本发明具有以下优点
I)本发明可以根据用户的不同角色来控制用户使用对应的页面和使用对应的业务操作功能,避免用户使用与之角色不匹配的页面和功能,从而避免人为误操作,提高了制造执行系统中操作的安全性。2)可在不升级软件、不打软件补丁的情况下,增加、删除、更改用户的角色信息、角色的种类、角色与页面以及角色与功能的权限值,由于这些数据都保存在数据库中,所以只要找到对应的值修改并重启即可完成修改。3)该方法对增加权限种类的扩展性也较好,由于权限值有32位,而已使用的位数是从低到高排序的,所以在新增某功能的权限种类时,只要修改数据库中功能对应的权限值(修改未使用的位的值),并在代码中增加对该权限的控制即可,无需更改软件原有功能,提高了软件系统的稳定性。


图I是本发明的权限控制流程图。
具体实施例方式下面结合附图和实施例对本发明作进一步说明。本方法的步骤,具体包括如下三大步骤
一、权限与功能关系的数据库的生成
1.在数据库中添加用户信息表(表中至少包括以下几列用户标识、用户名称,角色标识、密码),记录注册用户的信息,本文简称UR表;
2.在数据库中添加角色信息表(表中至少包括以下几列角色标识、角色名称),该表记录生产中的各种角色信息;本文简称RD表;
3.在数据库中添加页面信息表(表中至少包括以下几列页面标识、页面名称),该表记录了所有页面资源的信息;本文简称为ro表;
4.在数据库中添加功能信息表(表中至少包括以下几列功能标识、页面标识、功能名称、功能类型),该表记录制造执行系统中提供的业务操作即功能,该功能属于哪个页面资源,是哪种类型的功能(按钮、数据表格、文本框、下拉列表等)、本文简称FD表; 5.在数据库中添加页面权限表(表中至少包括以下几列页面权限标识即主键表识、页面标识、角色标识)该表记录了角色对页面的使用权限关系,本文简称RP表
6.在数据库中添加功能权限表(表中至少包括以下几列功能权限标识、角色标识、功能标识、权限值、控制键值),该表记录角色对于页面上的功能的权限关系,本文简称RF表;
二、生成权限配置模块、权限获取模块、基本权限控制模块以及特殊权限控制模块。权限配置模块
由于制造执行系统中的业务操作功能繁多,以业务操作功能为粒度进行权限配置是项非常沉重的任务,为了更人性化,这里以表示层即网页页面(目前的制造执行系统大多采用服务器/客户端浏览器结构)作为基本粒度对角色权限进行配置。使用权限配置模块可以向上述数据库中建立的表格里面写入具体数据,比如在数据库中分别添加角色的具体数据、页面的具体数据、功能的具体数据、以及角色对于页面的使用权限关系的具体数据、角色对于页面上的功能的权限关系的具体数据等。权限获取模块
权限获取模块中包括两种权限获取方法,分别为获取角色对于页面的使用权限的方法和获取角色对于页面上的功能的权限的方法;
1)获取角色对于页面的使用权限的方法
通过用户标识以及所选角色的角色标识(本发明支持用户注册多种角色)在后台数据表UR、RD、PD、RP中进行联合查询获取角色对页面的使用权限(权限值是布尔值类型,true代表该角色用户有使用页面的权限,false代表没有)。2)获取角色对于页面上的功能的权限的方法
根据用户标识、角色标识、页面标识、功能标识在数据表UR、RD、FD、PD、RF中进行联合查询获取角色在某个页面上功能的权限(权限值是有32位二进制数构成,每一位代表一种权限,包括基本权限和特殊权限。基本权限从低到高,顺序排列,之后是特殊权限。例如假设有2个基本权限可见性和可用性;2个特殊权限I个二次验证权限和I个控制键值权限。那么权限值是由最低4位构成,个位代表可见性、十位代表可用性,百位代表二次验证是否需要,千位代表控制键值是否生效)。基本权限控制模块
主要功能是根据角色对页面上功能的基本权限值,设置功能的基本属性。I)在加载页面的过程中,会调用权限获取模块中获取角色对于页面上的功能的权限的方法(用户标识和角色标识信息会在用户登录时缓存到系统中,以方便后续使用)获取该用户对页面中的每个功能(如按钮、文本框)的权限值;
2)遍历每个功能,根据权限值对页面上的功能的基本属性进行配置(例如,一个功能按钮的权限值为0x00000001,个位为1,则设置按钮对用户可见,十位为0,则设置按钮为不可用状态,即用户无法点击该按钮)。特殊权限控制模块主要功能是根据用户的角色控制功能的特殊权限,依据业务的特点和需求作用于功能的实现中,根据特殊权限中配置的权限值进行控制。三、上述两个步骤完成后,
I)根据实际需求调用权限配置模块在数据库RD、PD、FD、RP、RF表中分别添加角色的具体数据、页面的具体数据、功能的具体数据、以及角色对于页面的使用权限关系的具体数据、角色对于页面上的功能的权限关系的具体数据。2)—个新用户注册账号,需要至少提供用户名称,选择某种角色。3 )将用户注册信息保存在用户信息表UR中。4)用户登录,用户标识和角色标识被缓存在系统中,系统根据用户在注册时候选择的角色,结合UR、RD、PD、RP表,调用权限获取模块获取角色对于页面的使用权限关系的具体数据,从而获取用户的页面权限。5)在系统初始化函数中,根据用户的页面权限加载对应的页面。6)用户选择进入某个页面时,根据用户注册的角色,结合UR、RD、FD、PD、RF表,调用权限获取模块获取该角色对于页面上的功能的权限关系的具体数据,从而获取、缓存该用户在该页面上的所有功能的权限值,并调用基本权限控制模块设置页面上的功能的基本属性,然后显示该页面上对于该用户可见的功能,隐藏对于该用户不可见的功能,该页面上对于该用户可用的功能被设为可用,不可用的功能被设为不可用。7)用户触发页面中某功能后,调用特殊权限控制模块对功能进行特殊权限控制。实施例一。在制造执行系统中举例说明如下
a)首先,根据对使用者即用户进行分类,进行角色划分,在RD表中生成如下信息;
角色标识角色名称I生产计划员2设备维护员......
b)在页面信息表H)中添加所需的页面数据
页面标识页面名称I生产计划管理页面2维护计划管理页面
c)在功能信息表FD中添加提供的所有功能的数据;
功能标识页面标识功能名称功能类型II开始生产按钮22更改维护计划按钮32查询维护计划按钮42维护计划列表数据表格.........
d)在页面权限表RP中,添加角色对页面的权
主键标识角色标识页面标识III2I2322
瑕数据
e)在功能权限表RF中,添加角色对每个功能的权限值;
权利要求
1.一种细粒度客户端使用权限控制方法,其特征在于,包括以下步骤 1)权限与功能关系的数据库的生成,包括定义用户、角色、页面、功能、角色对于页面的使用权限关系、角色对于页面上的功能的权限关系; 2)生成权限配置模块、权限获取模块、基本权限控制模块以及特殊权限控制模块,以用于在后续步骤中调用这些模块; 所述权限配置模块提供表示层即页面的交互方法,能用于配置角色的具体数据、页面的具体数据、功能的具体数据、角色对于页面的使用权限关系的具体数据、角色对于页面上的功能的权限关系的具体数据; 所述权限获取模块用于获取用户的页面权限和用户在页面上的功能的权限; 所述基本权限控制模块用于根据角色对页面上功能的基本权限值,设置功能的基本属 性; 所述特殊权限控制模块用于根据角色对页面上功能的特殊权限值,对功能进行特殊权限控制; 3)上述两个步骤完成后,根据实际需求调用权限配置模块在数据库中分别添加角色的具体数据、页面的具体数据、功能的具体数据、以及角色对于页面的使用权限关系的具体数据、角色对于页面上的功能的权限关系的具体数据; 用户注册,需要至少提供用户名称,选择某种角色,注册信息保存到数据库; 用户登陆,系统根据用户在注册时候选择的角色,调用权限获取模块获取上述已经添加的角色对于页面的使用权限关系的具体数据,从而获取用户的页面权限,根据用户的页面权限,加载对应的页面; 用户选择进入某个页面时,系统根据用户在注册时候选择的角色,调用权限获取模块获取上述已经添加的角色对于页面上的功能的权限关系的具体数据,从而获取、缓存该用户在该页面上的所有功能的权限值,并调用基本权限控制模块设置页面上的功能的基本属性,然后显示该页面上对于该用户可见的功能,隐藏对于该用户不可见的功能,该页面上对于该用户可用的功能被设为可用,不可用的功能被设为不可用; 用户触发页面中某功能后,根据角色对于该功能的特殊权限值,调用特殊权限控制模块对该功能进行特殊权限控制。
2.如权利要求I所述的细粒度客户端使用权限控制方法,其特征在于所述权限与功能关系的数据库的生成步骤包括以下表格的生成 在数据库中添加用户信息表,该表中至少包括以下几列用户标识、用户名称,角色标识、密码; 在数据库中添加角色信息表,该表中至少包括以下几列角色标识、角色名称; 在数据库中添加页面信息表,该表中至少包括以下几列页面标识、页面名称; 在数据库中添加功能信息表,该表中至少包括以下几列功能标识、页面标识、功能名称、功能类型; 在数据库中添加页面权限表,该表中至少包括以下几列页面权限标识即主键表识、页面标识、角色标识; 在数据库中添加功能权限表,该表中至少包括以下几列功能权限标识、角色标识、功能标识、权限值、控制键值。
3.如权利要求2所述的细粒度客户端使用权限控制方法,其特征在于,所述权限获取模块中包括两种权限获取方法 1)获取角色对于页面的使用权限的方法通过用户标识以及所选角色的角色标识在用户信息表、角色信息表、页面信息表、页面权限表中进行联合查询获取角色对页面的使用权限; 2)获取角色对于页面上的功能的权限的方法根据用户标识、角色标识、页面标识、功能标识在用户信息表、角色信息表、页面信息表、功能信息表、功能权限表中进行联合查询获取角色在某个页面上功能的权限。
4.如权利要求I所述的细粒度客户端使用权限控制方法,其特征在于,所述特殊权限控制包括二次验证的权限控制方法和控制键值的权限控制方法。
5.如权利要求4所述的细粒度客户端使用权限控制方法,其特征在于,所述二次验证的权限控制方法如下 用户触发页面中某功能后,对应的功能不会立即执行,而是先弹出对话框,提示输入具有二次验证权限的用户的授权信息,如输入的二次验证权限的用户的授权信息正确,则对应的功能执行。
6.如权利要求4所述的细粒度客户端使用权限控制方法,其特征在于,所述控制键值的权限控制方法如下 将功能的权限值中某一位作为控制键值位,用来表示控制键值是否生效;应用系统中依据实际需要编写代码来完成控制键值的具体数值设置,并以此控制键值的具体数值来进行特殊权限控制。
全文摘要
本发明提供一种细粒度客户端使用权限控制方法,包括以下步骤权限与功能关系的数据库的生成;生成权限配置模块、权限获取模块、基本权限控制模块以及特殊权限控制模块,以用于在后续步骤中调用这些模块;用户注册时需要选择角色,系统调用权限配置模块获取角色对于页面的使用权限,以及获取角色对于页面上的功能的权限,并调用基本权限控制模块设置页面上的功能的基本属性,用户触发页面中某功能后,调用特殊权限控制模块对该功能进行特殊权限控制。
文档编号G06F21/62GK102930226SQ20121041298
公开日2013年2月13日 申请日期2012年10月25日 优先权日2012年10月25日
发明者史海波, 段彬, 潘福成 申请人:无锡中科泛在信息技术研发中心有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1