权限控制方法及装置的制作方法

文档序号:6370773阅读:109来源:国知局
专利名称:权限控制方法及装置的制作方法
技术领域
本发明涉及通信领域,具体而言,涉及一种权限控制方法及装置。
背景技术
在设计通信业务软件时,考虑到数据的安全性与完整性,必须为通信业务软件设计权限管理方案,以便对不同的用户分配不同的权限,使得不同的用户各自在独立的权限下使用通信业务软件,以确保数据的完整和安全。相关技术中,权限控制方案将“模块+子功能”定义为一个可授权的功能对象,这种将模块和子功能糅合在一起的定义方式,导致逻辑上不够清晰。另外,相关技术中模块和 子功能分别用一个四字节的整数的高16位和低16为表示,这样模块标识和子功能标识总数受限制,并且这种按位的数据处理方式的实现比较复杂;其次,采用(功能对象ID,角色,用户ID,权限控制字)作为一条行记录值插入文件或数据中的方法来形成角色功能映射表,这种方法保存的权限数据存在信息冗余,不符合关系数据库设计规范。因此,相关技术中的权限控制方案实现起来较复杂。

发明内容
本发明提供了一种权限控制方法及装置,以至少解决相关技术中,权限控制方案实现较复杂的问题。根据本发明的一个方面,提供了一种权限控制方法,包括获取当前用户的权限;根据获取到的权限以及与所有权限一一对应的操作的属性值控制当前用户是否可以执行该操作。优选地,在获取当前用户的权限之前,上述方法还包括将所有权限的标识值赋给与所有权限对应的操作的属性值。优选地,根据获取到的权限以及与所有权限一一对应的操作的属性值控制当前用户是否可以执行该操作包括判断与所有权限一一对应的操作的属性值是否在获取到的权限的标识值的集合中;如果判断结果为是,则允许当前用户执行上述操作;如果判断结果为否,则拒绝当前用户执行上述操作。优选地,在获取当前用户的权限之前,上述方法还包括将所有用户、所有权限、用户与权限之间的对应关系保存到数据库中;获取当前用户的权限包括在用户与权限之间的对应关系中获取与当前用户对应的权限。优选地,在获取当前用户的权限之前,上述方法还包括将所有用户、所有角色、所有权限、用户与角色之间的对应关系、角色与权限之间的对应关系保存到数据库中,其中,角色是一个或多个权限的集合;获取当前用户的权限包括在用户与角色之间的对应关系中获取与当前用户对应的角色;在角色与权限之间的对应关系中获取与当前用户的角色对应的权限。优选地,上述权限控制方法通过程序开发工具Delphi实现。
优选地,操作的属性值是Delphi中Action对象的整型类型的Tag属性值。根据本发明的另一方面,提供了一种权限控制装置,包括获取模块,用于获取当前用户的权限;控制模块,用于根据获取到的权限以及与所有权限一一对应的操作的属性值控制当前用户是否可以执行该操作。优选地,上述装置还包括赋值模块,用于将所有权限的标识值赋给与所有权限对应的操作的属性值。优选地,控制模块包括判断单元,用于判断与所有权限一一对应的操作的属性值是否在获取到的权限的标识值的集合中;第一处理单元,用于在判断结果为是的情况下,允许当前用户执行上述操作;第二处理单元,用于在判断结果为否的情况下,拒绝当前用户执行上述操作。优选地,上述装置还包括第一保存模块,用于将所有用户、所有权限、用户与权限之间的对应关系保存到数据库中;获取模块包括第一获取单元,用于在用户与权限之间 的对应关系中获取与当前用户对应的权限。优选地,上述装置还包括第二保存模块,用于将所有用户、所有角色、所有权限、用户与角色之间的对应关系、角色与权限之间的对应关系保存到数据库中,其中,角色是一个或多个权限的集合;获取模块包括第二获取单元,用于在用户与角色之间的对应关系中获取与当前用户对应的角色;第三获取单元,用于在角色与权限之间的对应关系中获取与当前用户的角色对应的权限。本发明实施例中,通过当前用户的权限以及该用户所要执行的与所有权限一一对应的操作的某个属性值,控制用户是否可以执行该操作(即当前用户所要执行的操作所对应的权限是否在该用户的权限范围内),相对于现有技术中数据按位存储,根据按位运算来确定用户权限的方案,上述方法易于实现。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图I是根据本发明实施例的权限控制方法的流程图;图2是根据本发明优选实施例的权限分配示意图;图3是根据本发明优选实施例的Action对象的相关事件的触发顺序图;图4是根据本发明实施例的权限控制装置的结构框图;图5是根据本发明优选实施例的权限控制装置的结构框图一;图6是根据本发明优选实施例的权限控制装置的结构框图二 ;图7是根据本发明优选实施例的权限控制装置的结构框图三。
具体实施例方式需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。相关技术中,通信业务软件中的权限控制方案实现较复杂。为此,本发明实施例提供了一种权限控制方法,使得通信业务软件中的权限控制易于实现,图I是根据本发明实施例的权限控制方法的流程图,如图I所示,包括如下的步骤S102至步骤S104。步骤S102,获取当前用户的权限。步骤S104,根据获取到的权限以及与所有权限一一对应的操作的属性值控制当前用户是否可以执行该操作。上述实施例中,根据当前用户的权限以及该用户所要执行的操作的属性值,控制用户是否可以执行该操作(即当前用户所要执行的操作是否是该用户的权限对应的操作),相对于相关技术中数据按位存储,根据按位运算来确定用户权限的方案,上述方法易于实现。优选地,上述权限控制方法通过程序开发工具Delphi实现,操作的属性值是Delphi中Action对象的整型类型的Tag属性值,这样编程较简单,从而可以较容易地实现用户的权限控制,使得具有不同权限的用户仅能使用特定的系统功能。 在最初权限分配时,需要将所有权限的标识值赋给与所有权限对应的操作的属性值,以便后续根据某个操作的属性值判断当前用户是否可以执行该操作。具体地,在获取当前用户的权限之前,上述方法还包括将所有权限的标识值赋给与所有权限对应的操作的属性值。优选地,根据获取到的权限以及与所有权限一一对应的操作的属性值控制当前用户是否可以执行该操作包括判断与所有权限一一对应的操作的属性值是否在获取到的权限的标识值的集合中;如果判断结果为是,则允许当前用户执行上述操作;如果判断结果为否,则拒绝当前用户执行上述操作。通过简单的判断步骤即可确定用户是否可以执行某个操作,简单易实现。在本发明实施例的一个优选实施方式中,将权限数据和用户数据抽象成表格的形式进行存储,符合关系数据库设计规范。具体如下,在获取当前用户的权限之前,上述方法还包括将所有用户、所有权限、用户与权限之间的对应关系保存到数据库中;获取当前用户的权限包括在用户与权限之间的对应关系中获取与当前用户对应的权限。针对相关技术中利用四个字节存储权限数据和用户数据,权限数量受限的问题,在另外一个优选实施方式中,增加了角色的概念,即一组权限的集合,将权限分组,且按照表格方式存储,使得逻辑清晰,对系统的权限数量也没有限制,具有良好的可扩展性。具体操作如下在获取当前用户的权限之前,上述方法还包括将所有用户、所有角色、所有权限、用户与角色之间的对应关系、角色与权限之间的对应关系保存到数据库中,其中,角色是一个或多个权限的集合;获取当前用户的权限包括在用户与角色之间的对应关系中获取与当前用户对应的角色;在角色与权限之间的对应关系中获取与当前用户的角色对应的权限。上述实施例中的权限与系统的功能点一一对应,用户拥有某个权限表明用户可以使用系统的某个功能。对于特定的系统,该系统的功能是确定的,于是通过将系统的功能细分为多个可控的功能点,可以确定系统的所有权限。通常用数据库记录系统的用户、角色以及权限信息,例如,可以按照表I所示的形式存储权限数据以及用户数据。表I数据结构表
权利要求
1.一种权限控制方法,其特征在于包括 获取当前用户的权限; 根据所述获取到的权限以及与所有权限一一对应的操作的属性值控制所述当前用户是否可以执行所述操作。
2.根据权利要求I所述的方法,其特征在于,在获取所述当前用户的权限之前,还包括 将所述所有权限的标识值赋给与所述所有权限对应的操作的属性值。
3.根据权利要求2所述的方法,其特征在于,根据所述获取到的权限以及与所有权限一一对应的操作的属性值控制所述当前用户是否可以执行所述操作包括 判断所述与所有权限一一对应的操作的属性值是否在所述获取到的权限的标识值的集合中; 如果判断结果为是,则允许所述当前用户执行所述操作; 如果判断结果为否,则拒绝所述当前用户执行所述操作。
4.根据权利要求I所述的方法,其特征在于, 在获取所述当前用户的权限之前,还包括 将所有用户、所有权限、用户与权限之间的对应关系保存到数据库中; 获取所述当前用户的权限包括 在所述用户与权限之间的对应关系中获取与所述当前用户对应的权限。
5.根据权利要求I所述的方法,其特征在于, 在获取所述当前用户的权限之前,还包括 将所有用户、所有角色、所有权限、用户与角色之间的对应关系、角色与权限之间的对应关系保存到数据库中,其中,所述角色是一个或多个权限的集合;获取所述当前用户的权限包括 在所述用户与角色之间的对应关系中获取与所述当前用户对应的角色; 在所述角色与权限之间的对应关系中获取与所述当前用户的角色对应的权限。
6.根据权利要求I至5中任一项所述的方法,其特征在于,所述权限控制方法通过程序开发工具Delphi实现。
7.根据权利要求I至5中任一项所述的方法,其特征在于,所述操作的属性值是Delphi中Action对象的整型类型的Tag属性值。
8.一种权限控制装置,其特征在于包括 获取模块,用于获取当前用户的权限; 控制模块,用于根据所述获取到的权限以及与所有权限一一对应的操作的属性值控制所述当前用户是否可以执行所述操作。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括 赋值模块,用于将所述所有权限的标识值赋给与所述所有权限对应的操作的属性值。
10.根据权利要求9所述的装置,其特征在于,所述控制模块包括 判断单元,用于判断所述与所有权限一一对应的操作的属性值是否在所述获取到的权限的标识值的集合中; 第一处理单元,用于在判断结果为是的情况下,允许所述当前用户执行所述操作;第二处理单元,用于在判断结果为否的情况下,拒绝所述当前用户执行所述 操作。
全文摘要
本发明公开了一种权限控制方法及装置,该方法包括获取当前用户的权限;根据获取到的权限以及与所有权限一一对应的操作的属性值控制当前用户是否可以执行该操作。本发明中,通过当前用户的权限以及该用户所要执行的与所有权限一一对应的操作的某个属性值,控制用户是否可以执行该操作(即当前用户要执行的操作所对应的权限是否是在该用户的权限范围内),相对于相关技术中数据按位存储,根据按位运算来确定用户权限的方案,上述方法易于实现。
文档编号G06F21/00GK102750473SQ20121017893
公开日2012年10月24日 申请日期2012年6月1日 优先权日2012年6月1日
发明者尹平 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1