《用于应用软件的权限控制方法和装置.pdf》由会员分享,可在线阅读,更多相关《用于应用软件的权限控制方法和装置.pdf(10页完整版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 102467642 A (43)申请公布日 2012.05.23 C N 1 0 2 4 6 7 6 4 2 A *CN102467642A* (21)申请号 201010548051.X (22)申请日 2010.11.17 G06F 21/22(2006.01) (71)申请人北大方正集团有限公司 地址 100871 北京市海淀区成府路298号方 正大厦5层 申请人北京北大方正电子有限公司 (72)发明人侯存军 谢浩 (74)专利代理机构北京英赛嘉华知识产权代理 有限责任公司 11204 代理人王达佐 (54) 发明名称 用于应用软件的权限控制方法和装置 (57)。
2、 摘要 本发明提供了一种用于应用软件的权限控制 方法,包括:确定应用软件的用户的权限在各个 权限种类中的权限级别;通过查找预先建立的权 限映射关系记录确定的权限种类及其权限级别, 其中,权限映射关系包括将每个权限种类映射到 一个ID,将各个权限种类中的各个权限级别映射 到一个数值;采用记录的ID和数值控制对应用软 件的登录使用。本发明还提供了一种应用软件的 权限控制装置。本发明能在软件开发维护过程中 方便迅速地设置修改应用程序中的权限控制。 (51)Int.Cl. 权利要求书1页 说明书5页 附图3页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 1 页 说明书 5 。
3、页 附图 3 页 1/1页 2 1.一种用于应用软件的权限控制方法,其特征在于,包括: 确定所述应用软件的用户的权限在各个权限种类中的权限级别; 通过查找预先建立的权限映射关系记录所述确定的权限种类及其权限级别,其中,所 述权限映射关系包括将每个所述权限种类映射到一个ID,将各个所述权限种类中的各个权 限级别映射到一个数值; 采用所述记录的ID和数值控制对所述应用软件的登录使用。 2.根据权利要求1所述的方法,其特征在于,确定所述应用软件的用户的权限在各个 权限种类中的权限级别包括: 确定所述用户所属的角色; 确定所述角色在各个所述权限种类中的权限级别,以作为所述用户的权限在各个权限 种类中的。
4、权限级别。 3.根据权利要求2所述的方法,其特征在于,确定所述角色在各个所述权限种类中的 权限级别包括: 通过查找预先建立的角色映射关系确定所述角色在各个所述权限种类中的权限级别, 其中,所述角色映射关系包括所述应用软件的每个角色在各个所述权限种类中的权限级 别。 4.根据权利要求1所述的方法,其特征在于,采用数据库或文件记录各个所述权限种 类的ID及所述用户的权限在各个所述权限种类中的权限级别的数值。 5.根据权利要求1所述的方法,其特征在于,在所述映射关系中,所述权限级别越高, 所映射的数值越大。 6.根据权利要求5所述的方法,其特征在于,还包括: 将所述用户的所有所述数值相加; 根据所述。
5、和值的大小确定所述用户的级别。 7.一种用于应用软件的权限控制装置,其特征在于,包括: 确定模块,用于确定所述应用软件的用户的权限在各个权限种类中的权限级别; 记录模块,用于通过查找预先建立的权限映射关系记录所述确定的权限种类及其权限 级别,其中,所述权限映射关系包括将每个所述权限种类映射到一个ID,将各个所述权限种 类中的各个权限级别映射到一个数值; 控制模块,用于采用所述记录的ID和数值控制对所述应用软件的登录使用。 8.根据权利要求7所述的装置,其特征在于,所述确定模块包括:角色确定模块,用于 确定所述用户所属的角色; 角色映射模块,用于确定所述角色在各个所述权限种类中的权限级别,以作为。
6、所述用 户的权限在各个权限种类中的权限级别。 9.根据权利要求7所述的装置,其特征在于,所述记录模块采用数据库或文件记录各 个所述权限种类的ID及所述用户的权限在各个所述权限种类中的权限级别的数值。 10.根据权利要求7所述的装置,其特征在于,还包括: 相加模块,用于将所述用户的所有所述数值相加,其中,在所述映射关系中,所述权限 级别越高,所映射的数值越大; 权值模块,用于根据所述和值的大小确定所述用户的级别。 权 利 要 求 书CN 102467642 A 1/5页 3 用于应用软件的权限控制方法和装置 技术领域 0001 本发明涉及应用软件开发领域,具体而言,涉及用于应用软件的权限控制方法。
7、和 装置。 背景技术 0002 通常,应用软件的使用者通过“用户”登录应用软件,以使用应用软件中对用户所 开放的功能,用户是应用软件中对使用者设置的身份,并赋予用户对应用软件中部分功能 的一定权限。很多应用软件允许多用户登录多用户使用,而对于不同的用户授予不同的权 限以使不同的用户能够进行不同的操作通常是必须的,因此如何对不同的用户进行相应的 权限控制非常重要。 0003 一般的权限控制方法是:直接记录各用户所拥有的权限,例如记录格式为文字记 载“用户qq,可以打开作业,不能删除资源”,用户进行登录时直接检查用户的登录权限,用 户使用某一功能模块时则直接进行用户对此模块是否具有使用权限进行检查。
8、,通过验证则 允许使用,验证失败则拒绝登录或使用。 0004 现有技术的缺陷在于,当应用程序需要增加功能时需要修改关于用户的权限的代 码,开发工作中重复工作量大,而且增加测试工作量,给软件带来出错隐患。 发明内容 0005 本发明旨在提供一种用于应用软件的权限控制方法和装置,以解决现有技术权限 控制不灵活的问题。 0006 在本发明的实施例中,提供了一种用于应用软件的权限控制方法,包括:确定应用 软件的用户的权限在各个权限种类中的权限级别;通过查找预先建立的权限映射关系记录 确定的权限种类及其权限级别,其中,权限映射关系包括将每个权限种类映射到一个ID,将 各个权限种类中的各个权限级别映射到一。
9、个数值;采用记录的ID和数值控制对应用软件 的登录使用。 0007 在本发明的实施例中,提供了一种用于应用软件的权限控制装置,包括:确定模 块,用于确定应用软件的用户的权限在各个权限种类中的权限级别;记录模块,用于通过查 找预先建立的权限映射关系记录确定的权限种类及其权限级别,其中,权限映射关系包括 将每个权限种类映射到一个ID,将各个权限种类中的各个权限级别映射到一个数值;控制 模块,用于采用记录的ID和数值控制对应用软件的登录使用。 0008 本发明上述实施例的用于应用软件的权限控制方法和装置,因为采用规则化的ID 和数值来记录用户的权限,所以解决了现有技术权限控制不灵活的问题,达到了能在。
10、软件 开发维护过程中方便迅速地设置修改应用程序中的权限控制的效果。 附图说明 0009 此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发 说 明 书CN 102467642 A 2/5页 4 明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中: 0010 图1示出了根据本发明实施例的权限控制方法的流程图; 0011 图2示出了根据本发明优选实施例的记录权限的数据文件; 0012 图3示出了根据本发明优选实施例的进行权限控制的流程图; 0013 图4示出了根据本发明优选实施例的权限控制方法的流程图; 0014 图5示出了根据本发明实施例的权限控制装。
11、置的示意图。 具体实施方式 0015 下面将参考附图并结合实施例,来详细说明本发明。 0016 图1示出了根据本发明实施例的权限控制方法的流程图,包括: 0017 步骤S10,确定应用软件的用户的权限在各个权限种类中的权限级别; 0018 步骤S20,通过查找预先建立的权限映射关系记录确定的权限种类及其权限级别, 其中,权限映射关系包括将每个权限种类映射到一个ID,将各个权限种类中的各个权限级 别映射到一个数值; 0019 步骤S30,采用记录的ID和数值控制对应用软件的登录使用。 0020 现有技术直接记录各用户所拥有的权限,而本实施例中采用规则化的ID和数值 来记录用户的权限,所以解决了现。
12、有技术权限控制不灵活的问题,达到了能在软件开发维 护过程中方便迅速地设置修改应用程序中的权限控制的效果。 0021 可以预先建立一个权限映射关系表,如下表所示: 0022 模块 ID 使用作业 1 修改作业 2 删除资源 11 操作监控管理 12 0023 另外,现有技术中增加功能模块时对于应用软件中新增加的模块,权限的判断要 进行相应修改,所以在此种方式下进行应用软件的开发一般效率比较低且出错几率比较 大。而本实施例中可以在即使应用软件当前的用户不涉及某些权限种类或其中的某些权限 级别时,为了方便应用软件的升级、维护,预定定义各种权限种类及其所包含的权限级别, 以便当软件中的用户、角色、功能。
13、模块进行增加、减少等改动时可以方便进行修改,并且不 影响当前用户的使用习惯及控制要求;如果应用软件需要增加角色,则只需定义角色的属 性、所拥有的各功能模块的权限即可,以后再增加此角色的用户时记录此用户所属的角色 即可。将权限映射关系用数据库或数据文件保存起来,可以供检索使用。 0024 图2示出了根据本发明优选实施例的记录权限的数据文件。如图,qq为用户名, “操作员组”为其角色,后面的“1,0;2,2;4,0;5,0;6,0;7,0;8,0”为记录的权限信息,字 符中的“;”分隔各种权限,分开的字符串中每两个数字一组,前一个数字代表权限的种 说 明 书CN 102467642 A 3/5页 。
14、5 类(即ID),如“修改作业、删除资源、使用标记”等,后面的数字代表权限的级别,或者说 分值,如0分可以打开作业,不能删除资源,则用户qq可以使用作业,不能删除资源,用户 “administrator”可以删除资源等。 0025 在权限控制过程中,当用户需要使用应用软件软件时,首先需要登录,登录时根据 用户名称、密码进行身份检查,如果用户不存在或者密码错误则给出提示并拒绝登录。登录 用户通过身份认证登入软件以后,应用软件启动时,首先读取此用户所属的角色,再读取此 角色所拥有的权限,根据角色所拥有对各模块的权限加载应用软件的各模块。首先依次读 入此角色所具有的查看级别的以及比查看级别高的权限的。
15、功能模块。然后,依次将具有上 述权限的模块加载、显示到界面中,对于完全不具有权限的模块则不进行加载,对于用户需 要某些操作以后才具有权限的模块则只进行加载但不显示在界面中,当进行了相应的操作 以后刷新界面时再进行显示。在界面中所显示的模块用户可以进行操作,当执行某一操作 时,首先读取此用户所属的角色,再读取此角色对于此功能的权限,对于只能查看的功能, 显示出用户可以查看的信息,不提供操作的接口。对于拥有操作权限的模块,首先判断操作 权限的级别,如果拥有最高级别的操作权限,则所有操作都通过验证,如果不是,则禁止无 权限的操作。对于用户自身之前提交的数据,用户可以进行修改、查看,对于其他用户提交 。
16、的数据,则需要进一步检查用户的权限,如果不具有修改的权限,则在修改时给出提示并拒 绝修改,返回之前的界面,继续进行其他操作,如果具有修改的权限,则接受所提交的操作 并进行处理,对处理过程进行记录。 0026 下面以图3的优选实施例为例,详细介绍使用者登录应用软件以后,对所进行的 操作进行权限的检查的具体实施过程。首先定义几个用户、角色、权限级别以及操作,其 中,user1、user2、user3、user4分别为4个不同角色的用户;viewer、operator、admin分 别表示只能进行查看的角色、可以进行作业操作的角色、拥有对所有模块和操作的使用及 修改权限的角色;module1、mod。
17、ule2、module3分别为三个不同的功能模块,operation1、 operation2为两个操作,如图3所示,包括如下步骤: 0027 S300、viewer角色拥有module1、module2模块的查看权限,operator拥有这两个 模块的使用权限及operation1的使用权限;admin则拥有所有权限; 0028 S301、判断角色viewer、operator、admin的分类是否符合进行权限控制的要求, 判定后此种分类能够满足当前的权限控制要求,故继续S302,否则需进行修改; 0029 S302、将user1分配viewer角色,user2分配operator角色,us。
18、er3分配admin角 色,然后继续S303; 0030 S303、判定用户user1、user2、user3、user4所分配的权限能否满足进行权限控制 的要求;能满足则继续S305,否则转至S301; 0031 S304、重新分配角色viewer的权限,需要此角色能够至少拥有一个模块module1 或module2的使用权,然后转至S300; 0032 S305、给用户user1、user2、user3、user4分配对于模块module1、module2、 module3的权限的权值,用户user1对于module1的权值为0,用户user2对于module2的 权值为1用户user3对。
19、于module3的权值为2,继续S306; 0033 S306、将以上分配的用户、角色、权限的各自相对应数据进行记录,继续S307; 0034 S307、用户user1、user2、user3在各自的客户端进行登录,判断用户是否具有登 说 明 书CN 102467642 A 4/5页 6 录的权限,如user3,读取器角色为admin,具有此权限,则继续S 308,如果否,提示用户更 换身份重新登录; 0035 S308、用户user1、user2、user3登录成功,进行各自的操作,如用户user3创建新 用户,继续S309; 0036 S309、判断用户user3是否拥有创建新用户的权限,。
20、读取user3的角色为admin,拥 有所有权限,故验证通过,继续S310,否则验证不能通过,给出提示更换用户后转至S308; 0037 S310、接受提交的操作,创建新用户完成,后继续其他处理,提交作业给系统,继续 S311; 0038 S311、进行提交的处理,记录处理数据,返回处理结果给用户,刷新界面; 0039 其他用户的各种界面及操作的处理过程与上面用户权限控制过程相同; 0040 至此,对系统各用户、角色的权限控制完成。 0041 优选地,步骤S10包括:确定用户所属的角色;确定角色在各个权限种类中的权限 级别,以作为用户的权限在各个权限种类中的权限级别。在应用软件中通常规定了角色。
21、的 权限,通过角色来定义用户。本优选实施例直接确定用户所属的角色,从而方便快速地确定 用户的权限。 0042 优选地,确定角色在各个权限种类中的权限级别包括:通过查找预先建立的角色 映射关系确定角色在各个权限种类中的权限级别,其中,角色映射关系包括应用软件的每 个角色在各个权限种类中的权限级别。可以将每个角色的权限映射关系预先列在表中,这 样可以查表就能确定用户权限,进一步提高了效率。 0043 优选地,采用数据库或文件记录各个权限种类的ID及用户的权限在各个权限种 类中的权限级别的数值。记录用户、角色及权限的数据,可以直接存入数据库中,也可以保 存为文件的形式直接保存于计算机磁盘中,文件格式。
22、可以是XML格式,也可以是用户自定 义格式。数据库和数据文件可以方便权限控制中的检索使用。 0044 优选地,在映射关系中,权限级别越高,所映射的数值越大。优选地,本方法还包 括:将用户的所有数值相加;根据和值的大小确定用户的级别。现有技术中进行权限判断 特别是进行多种条件的叠加判断时需要进行复杂计算,增加系统负担,系统响应变慢,软件 易用性变差。而在本优选实施例中,因为映射的数值大小和权限级别高低直接相关,所以可 以通过相加后的和值大小直观地明确用户的权限高低,方便对用户的管理。 0045 图4示出了根据本发明优选实施例的用户权限控制方法的流程图,包括以下步 骤: 0046 步骤41,将角色。
23、进行分类; 0047 步骤42,对用户分配角色; 0048 步骤43,根据用户的角色确定用户的权限种类及其权限级别,其中包括: 0049 步骤431,权值种类映射; 0050 步骤432,角色权限映射; 0051 步骤44,根据记录的权限数据进行相应的权限控制。 0052 图5示出了根据本发明实施例的权限控制装置的示意图,包括: 0053 确定模块10,用于确定应用软件的用户的权限在各个权限种类中的权限级别; 0054 记录模块20,用于通过查找预先建立的权限映射关系记录确定的权限种类及其权 说 明 书CN 102467642 A 5/5页 7 限级别,其中,权限映射关系包括将每个权限种类映射。
24、到一个ID,将各个权限种类中的各个 权限级别映射到一个数值; 0055 控制模块30,用于采用记录的ID和数值控制对应用软件的登录使用。 0056 本装置能在软件开发维护过程中方便迅速地设置修改应用程序中的权限控制的 效果。 0057 优选地,确定模块10包括:角色确定模块,用于确定用户所属的角色;角色映射模 块,用于确定角色在各个权限种类中的权限级别,以作为用户的权限在各个权限种类中的 权限级别。本优选实施例直接确定用户所属的角色,从而方便快速地确定用户的权限。 0058 优选地,记录模块20采用数据库或文件记录各个权限种类的ID及用户的权限在 各个权限种类中的权限级别的数值。数据库和数据文。
25、件可以方便权限控制中的检索使用。 0059 优选地,本装置还包括:相加模块,用于将用户的所有数值相加,其中,在映射关系 中,权限级别越高,所映射的数值越大;权值模块,用于根据和值的大小确定用户的级别。在 本优选实施例中,因为映射的数值大小和权限级别高低直接相关,所以可以通过相加后的 和值大小直观地明确用户的权限高低,方便对用户的管理。 0060 从以上的描述中可以看出,本发明上述的实施例使得各用户的权限控制过程得以 简化,减少权限控制过程的数据读取,同时对于软件中应用模块的增加,也降低了对新模块 的权限控制的复杂度,并通过将用户、角色、权限数据进行统一记录,提高了权限验证速度, 从而提高软件进。
26、行权限控制的速度,能够适应软件开发中用户、角色、功能模块经常变化的 要求。 0061 显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用 的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成 的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而可以将它们存储在 存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中 的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬 件和软件结合。 0062 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技 术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修 改、等同替换、改进等,均应包含在本发明的保护范围之内。 说 明 书CN 102467642 A 1/3页 8 图1 图2 说 明 书 附 图CN 102467642 A 2/3页 9 图3 说 明 书 附 图CN 102467642 A 3/3页 10 图4 图5 说 明 书 附 图CN 102467642 A 10 。