本发明专利技术提供了一种权限控制方法,包括:步骤102,接收权限申请;步骤104,在已运行和已申请的权限中,查找本次申请的权限的互斥权限,在查找到时,进入步骤106,在未查找到时,进入步骤108;步骤106,拒绝本次权限申请;步骤108,将本次申请的权限加入已申请的权限,并在已运行和已申请的其他权限中,查找本次申请的权限的互斥权限,在未查找到时,进入步骤110,在查找到时,进入步骤112;步骤110,确认权限申请成功;步骤112,将本次申请的权限从已申请的权限中删除,拒绝本次权限申请。本发明专利技术还提供了一种权限控制系统。根据本发明专利技术的技术方案,实现了一种权限控制方法和系统,动态且准确地控制权限的申请。
【技术实现步骤摘要】
本专利技术涉及信息管理系统中的权限技术,尤其涉及权限控制方法和系统。
技术介绍
在现有的企业信息系统中,为了安全考虑,一般都会涉及到用户权限控制的问题。 通常的权限体系主要是解决“谁”对“什么资源”进行了“什么操作”的问题,也就是用户、 角色、功能资源三要素的问题。常见的授权体系是基于角色功能映射表来实现用户权限管 理的,通常做法是先将系统功能粗分为模块,然后在模块中细分各种子功能,然后将“模块+ 子功能”定义为一个可授权的功能对象,更进一步,对可授权对象配置不相容关系,在授权 过程中判断,符合互斥关系的权限不能授予同一用户,或同一角色主体,如相关技术中所描 述的功能资源管理一样。但是在现实业务系统中,仅仅描述哪些用户对哪些资源拥有权限还远远不够,还 需要判断当某些用户正在行使他们的权限执行某些操作的时候,其他用户即使拥有了一些 权限,也因为这些正在运行的功能,导致他们自己对资源的访问不成功,比如A用户登录系 统进行一些系统级的维护操作,其他用户此时均不能登录系统进行业务操作,原有授权体 系存在如下缺陷1.对功能资源的分层过于简单,或者不分层,或者分层级次是固定的。如相关技术 中仅仅是在在资源上增加功能和模块的层次。2.只关注了静态的授权信息,即一旦这个用户被授予了权限,那么其他用户的操 作不会影响这个用户对已授权功能的使用,而现实系统不同的应用,不同的客户端之间的 操作是有相互影响的。3.如果在授权阶段控制这种功能互斥的问题,那么就会导致一个功能一旦被分配 出去,他的互斥功能均不能再被分配,严重降低了系统的操作并发性。所以需要制定一个并发策略,在系统运行过程中根据这个并发策略,动态判断用 户申请的功能是否可用。又因为需要在运行过程中控制操作的互斥,比如多个用户同时申请权限,如果多 个用户在同一时刻同时申请了权限,系统不做任何处理的话,会产生并发读的问题,导致多 个用户同时申请成功,会导致申请结果错误,这时就还需要一种控制机制,来控制多用户对 互斥权限的申请。目前现有系统大部分借助数据库来完成这类操作,通常会对要控制的对象抽象出 一个锁变量,每次操作前对锁对象加锁控制,锁对象存放在数据库中,执行完从数据库中释 放锁对象,就如相关技术中所处理的一样。使用这种方法,面临以下三种缺陷1.锁变量仍然存储在数据库中,对锁变量的并发控制仍然依赖数据库的锁机制来 保证。2.根据用户锁定业务逻辑对象,导致同一个用户在不同客户端操作操作时,无法 控制互斥性。3.虽然有业务逻辑对象池,但是仍然只支持点的互斥,而无法支持集合的互斥,比 如某个业务逻辑对象与其它所有业务逻辑对象互斥。因此,需要一种权限控制方式,能够避免上述不同的客户端之间的操作相互影响 的问题,需要在运行过程中控制操作的互斥,控制多用户对互斥权限的申请。
技术实现思路
本专利技术所要解决的技术问题在于,提供一种权限控制方法和系统,避免不同的客 户端之间的操作相互影响的问题,需要在运行过程中控制操作的互斥,控制多用户对互斥 权限的申请。本专利技术提供了一种权限控制方法,包括步骤102,接收权限申请;步骤104,在已 运行和已申请的权限中,查找本次申请的权限的互斥权限,在查找到所述本次申请的权限 的互斥权限时,进入步骤106,在未查找到所述本次申请的权限的互斥权限时,进入步骤 108 ;所述步骤106,拒绝本次权限申请;所述步骤108,将所述本次申请的权限加入已申请 的权限,并在已运行和已申请的其他权限中,查找所述本次申请的权限的互斥权限,在未查 找到所述本次申请的权限的互斥权限时,进入步骤110,在查找到所述本次申请的权限的互 斥权限时,进入步骤112 ;所述步骤110,确认权限申请成功,以供用户使用所述本次申请的 权限;所述步骤112,将所述本次申请的权限从所述已申请的权限中删除,拒绝本次权限申 请。通过该技术方案,通过互斥权限可以对权限申请过程进行动态控制,考虑了多用户操作 的相互影响,避免多用户并发权限处理,提高授权效率。在上述技术方案中,优选地,还包括步骤101,为每个权限制定互斥关系,在所述 步骤104中,根据所述每个权限的互斥关系,查找所述本次申请的权限的互斥权限,在所述 步骤108中,根据所述每个权限的互斥关系,查找所述本次申请的权限的互斥权限。通过该 技术方案,为每个权限制定互斥关系,可以灵活的区分每个操作,可以适用于不同的应用场 景,更加人性化和智能化。在上述技术方案中,优选地,所述互斥关系包括权限ID,标识所述每个权限;互 斥权限ID和不互斥权限ID,在所述互斥权限ID标识的权限中去除所述不互斥权限ID标 识的权限后,作为所述每个权限的互斥权限;互斥类型,所述互斥类型对应的权限也作为所 述每个权限的互斥权限。通过该技术方案,根据实际业务的特点进行分类并定义互斥关系 更符合实际应用,而且能够规范权限互斥关系,根据业务特点归纳出类型,即可以进行批处 理,提高权限申请效率。在上述技术方案中,优选地,在所述步骤102中,所述本次申请的权限为末级权 限,所述步骤101中,制定互斥关系的权限为末级权限。在上述技术方案中,优选地,所述已运行和已申请的权限记录在数据库中,在所述 步骤108中,将所述本次申请的权限加入已申请的权限时,将所述本次申请的权限采用行 级锁的方式记录在所述数据库中,在所述步骤112中,将所述本次申请的权限从所述已申 请的权限中删除,将所述本次申请的权限采用行级锁的方式从所述数据库中删除。通过该 技术方案,能够避免多个互斥任务同时申请,行级锁保证了行与行之间的操作完全是并发 处理,不会导致所有并发申请都不成功,对于大规模频繁申请权限而言,不会因为权限申请 的排他性,而影响整个业务系统的效率。在上述技术方案中,优选地,在所述步骤102中,为所述本次申请的权限分配唯一 序列号,在所述步骤104中,根据所述唯一序列号,查找所述本次申请的权限的互斥权限, 在所述步骤108中,根据所述唯一序列号,查找所述本次申请的权限的互斥权限。通过该技 术方案,唯一序列号作为客户端的唯一标识,可以正确区分每一个操作,避免同一台客户端 可能运行存在互斥关系的多个应用的情况。本专利技术还提供了一种权限控制系统,包括权限申请接收模块,接收权限申请;第 一互斥权限查找模块,在已运行和已申请的权限中,查找本次申请的权限的互斥权限,在查 找到所述本次申请的权限的互斥权限时,拒绝本次权限申请,在未查找到所述本次申请的 权限的互斥权限时,启动第二互斥权限查找模块;所述第二互斥权限查找模块,将所述本次 申请的权限加入已申请的权限,并在已运行和已申请的其他权限中,查找所述本次申请的 权限的互斥权限,在未查找到所述本次申请的权限的互斥权限时,确认权限申请成功,以供 用户使用所述本次申请的权限,在查找到所述本次申请的权限的互斥权限时,将所述本次 申请的权限从所述已申请的权限中删除,拒绝本次权限申请。通过该技术方案,通过互斥权 限可以对权限申请过程进行动态控制,考虑了多用户操作的相互影响,避免多用户并发权 限处理,提高授权效率。在上述技术方案中,优选地,还包括互斥关系制定模块,为每个权限制定互斥关 系,所述第一互斥权限查找模块根据所述每个权限的互斥关系,查找所述本次申请的权限 的互斥权本文档来自技高网...
【技术保护点】
【技术特征摘要】
一种权限控制方法,其特征在于,包括步骤102,接收权限申请;步骤104,在已运行和已申请的权限中,查找本次申请的权限的互斥权限,在查找到所述本次申请的权限的互斥权限时,进入步骤106,在未查找到所述本次申请的权限的互斥权限时,进入步骤108;所述步骤106,拒绝本次权限申请;所述步骤108,将所述本次申请的权限加入已申请的权限,并在已运行和已申请的其他权限中,查找所述本次申请的权限的互斥权限,在未查找到所述本次申请的权限的互斥权限时,进入步骤110,在查找到所述本次申请的权限的互斥权限时,进入步骤112;所述步骤110,确认权限申请成功,以供用户使用所述本次申请的权限;所述步骤112,将所述本次申请的权限从所述已申请的权限中删除,拒绝本次权限申请。2.根据权利要求1所述的权限控制方法,其特征在于,还包括 步骤101,为每个权限制定互斥关系,在所述步骤104中,根据所述每个权限的互斥关系,查找所述本次申请的权限的互斥 权限,在所述步骤108中,根据所述每个权限的互斥关系,查找所述本次申请的权限的互斥 权限。3.根据权利要求2所述的权限控制方法,其特征在于,所述互斥关系包括 权限ID,标识所述每个权限;互斥权限ID和不互斥权限ID,在所述互斥权限ID标识的权限中去除所述不互斥权限 ID标识的权限后,作为所述每个权限的互斥权限;互斥类型,所述互斥类型对应的权限也作为所述每个权限的互斥权限。4.根据权利要求2所述的权限控制方法,其特征在于,在所述步骤102中,所述本次申 请的权限为末级权限,所述步骤101中,制定互斥关系的权限为末级权限。5.根据权利要求1至4中任一项所述的权限控制方法,其特征在于,所述已运行和已申 请的权限记录在数据库中,在所述步骤108中,将所述本次申请的权限加入已申请的权限时,将所述本次申请的 权限采用行级锁的方式记录在所述数据库中,在所...
【专利技术属性】
技术研发人员:郑芸,
申请(专利权)人:用友软件股份有限公司,
类型:发明
国别省市:11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。