基于缓存的用户权限管理方法及装置制造方法及图纸

技术编号:15542153 阅读:115 留言:0更新日期:2017-06-05 11:13
本发明专利技术公开了一种基于缓存的用户权限管理的方法。本发明专利技术使用有缓存查权方法,用户进行访问时,查询用户权限缓存数据库是否存在该用户的访问权限数据记录;如果没有,则生成访问权限数据,并将所述访问权限数据存储到所述用户权限缓存数据库;如果有,则根据所述用户权限缓存数据库中的该用户的访问权限数据记录将该用户的访问权限数据载入内存。由于登录验证用户身份环节需要查找用户权限缓存表,所以登录用时明显比无缓存方法的要多一些。本发明专利技术还公开了一种基于缓存的用户权限管理的装置。

Method and device for managing user authority based on cache

The invention discloses a user authority management method based on caching. The invention uses cache check method, user access, query access data records are user permissions of the user cache database exists; if not, access to data is generated, and the access to data stored in the user cache database; if there is, according to the data of the user access the user permissions in the database cache records will access the user's data into memory. Since the login authentication user identity section needs to find the user rights cache table, the login time is significantly more than the no cache method. The invention also discloses a device for managing user rights based on caching.

【技术实现步骤摘要】
基于缓存的用户权限管理方法及装置
本专利技术涉及用户权限管理
,具体涉及一种基于缓存的用户权限管理方法以及一种基于缓存的用户权限管理装置。
技术介绍
随着互联网信息及用户的飞速增长,如何有效减少用户访问延时,提高网络服务质量和网络带宽的利用率是一个迫切需要解决的难题。Web代理缓存技术是克服这些问题的最有效的方法。Web缓存服务器系统正在Internet及局域网上广泛地应用,对它所采用的技术做了较深入的讨论,指出利用WebCache技术,可减少网络流量,节约资金,提高带宽利用率;同时在Cache服务器端进行内容分析过滤,可提高过滤质量和效率,有效防止有害信息的进一步传播。基于角色的访问控制方法给用户授权管理带来了灵活性和简单性,但是当把其具体应用到实际大中型应用系统时,便发现会存在这样的问题:由于应用系统用户、角色和权限数量很多,而且用户和角色之问、角色与角色之间、角色和权限之间还存在很复杂的关系以及各种各样的约束。判断用户是否具有某个操作权限可能是一个复杂的递归查找过程,需要连接数据库,进行大量比较耗时的数据查询操作,而且即使用户每次访问相同的资源,也要重复同样的查权过程,这将严重影响系统的查权速度。因此,亟需要一种解决系统查权限速度慢的用户权限管理的方法及装置。
技术实现思路
技术问题有鉴于此,本专利技术实施例提供基于缓存的用户权限管理方法及装置,解决查权限速度慢的技术问题。根据本专利技术的一个方面,公开了一种基于缓存的用户权限管理方法。该方法包括如下步骤:用户进行访问时,查询用户权限缓存数据库是否存在该用户的访问权限数据记录;如果没有,则生成访问权限数据,并将所述访问权限数据存储到所述用户权限缓存数据库;如果有,则根据所述用户权限缓存数据库中的该用户的访问权限数据记录将该用户的访问权限数据载入内存。在其中一个实施例中,所述生成访问权限数据的步骤为根据RBAC查权方法生成访问权限数据。在其中一个实施例中,所述用户的访问权限数据记录包括用户信息、用户访问资源信息、操作权限信息和资源访问次数信息中的任意信息。在其中一个实施例中,当用户权限缓存数据库存在该用户的访问权限数据记录时,累计资源访问次数信息。在其中一个实施例中,该方法还包括如下步骤:根据预定资源访问次数,将超过所述预定资源访问次数的资源的访问权限数据直接载入内存。根据本专利技术的另一个方面,还提供了一种基于缓存的用户权限管理装置。该装置包括:用户权限缓存数据库,用于存储用户访问资源数据记录,其中,针对不同的访问资源设置相应的访问数据记录;查询判断模块,用于用户进行访问时,查询用户权限缓存数据库是否存在该用户的访问权限数据记录;访问权限数据生产模块,用于用户权限缓存数据库并不存在该用户的访问权限数据记录时,则生成访问权限数据,并将所述访问权限数据存储到所述用户权限缓存数据库;载入模块,用于根据所述用户权限缓存数据库中的该用户的访问权限数据记录将该用户的访问权限数据载入内存。在其中一个实施例中,访问权限数据生产模块根据RBAC查权方法生成访问权限数据。在其中一个实施例中,所述用户的访问权限数据记录包括用户信息、用户访问资源信息、操作权限信息和资源访问次数信息中的任意信息。在其中一个实施例中,该装置还包括:累计模块,用于当用户权限缓存数据库存在该用户的访问权限数据记录时,累计用户访问资源数据记录的资源访问次数信息。在其中一个实施例中,载入模块还用于根据预定资源访问次数,将超过所述预定资源访问次数的资源的访问权限数据直接载入内存。采用上述技术方案,本专利技术至少可取得下述技术效果:使用有缓存查权方法时,由于登录验证用户身份环节需要查找用户权限缓存表,所以登录用时明显比无缓存方法的要多一些;登录时只把该用户最经常使用的那些资源的缓存权限数据装载到内存中供查权使用,而其它不经常使用的一些资源的缓存权限数据,在使用到时才到数据库中提取。从整体上来看,采用这样的策略既可以避免用户登录时耗时较多,也可以提高系统的查权速度。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对本专利技术实施例描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据本专利技术实施例的内容和这些附图获得其他的附图。图1是本专利技术一实施例所述的基于缓存的用户权限管理方法流程图;图2是本专利技术一实施例所述的基于缓存的用户权限管理装置示意图。贯穿附图,应该注意的是,相似的标号用于描绘相同或相似的元件、特征和结构。具体实施方式提供以下参照附图的描述来帮助全面理解由权利要求及其等同物限定的本公开的各种实施例。以下描述包括帮助理解的各种具体细节,但是这些细节将被视为仅是示例性的。因此,本领域普通技术人员将认识到,在不脱离本公开的范围和精神的情况下,可对本文所述的各种实施例进行各种改变和修改。另外,为了清晰和简洁,公知功能和构造的描述可被省略。以下描述和权利要求书中所使用的术语和词汇不限于文献含义,而是仅由专利技术人用来使本公开能够被清晰和一致地理解。因此,对于本领域技术人员而言应该明显的是,提供以下对本公开的各种实施例的描述仅是为了示例性目的,而非限制由所附权利要求及其等同物限定的本公开的目的。应该理解,除非上下文明确另外指示,否则单数形式也包括复数指代。因此,例如,对“组件表面”的引用包括对一个或更多个这样的表面的引用。传统的基于角色的访问控制是基于RBAC模型,当判断用户是否具有某个操作权限P时,可以根据RBAC模型中的用户角色指派关系(UserAssignment,UA)、角色权限指派关系(PermissionAssignment,PA)和角色间的层次关系(RoleHierarchy,RH)进行具体判定。例如,判断用户U1是否具有权限P1,用户角色指派关系中U1直接拥有角色R1,而R1具有权限P1。在RBAC中,用户拥有某角色就拥有该角色的全部权限。因此,只要查询角色R1是否包含有权限P1就可判定用户U1是否具有权限P1了。又如,判断用户U2是否拥有权限Pm,用户角色指派关系和角色层次关系中,U2拥有的直接角色是R2,而R2的直接下层角色是R5,R5的直接下层角色是R8,R8才直接拥有权限Pm。在具体查权操作时,必须逐层往下搜索,根据RBAC中的上层(父)角色拥有下层(子)角色的全部权限的原则,直到搜索到R8时才能根据R8中是否拥有权限Pm来判定用户U2是否间接具有权限Pm。这里只是一个简单实例,实际应用系统的查权过程可能还要比这复杂得多。从传统的RBAC查权过程中可以看到,判断用户是否具有某权限要靠查找存储在数据库中的RBAC的UA、RH和PA关系并生成相应的权限数据以进行判定。由于数据库中没有存储任何用户和权限问的直接关系,每次用户访问应用系统进行查权时生成的权限数据和判断结果在当次使用完后就丢弃了,当该用户下次再登录时,即使是访问跟上次完全相同的系统资源也要重新生成权限数据然后再进行判定。这种查权方式对系统的运行速度影响比较大。本申请的基于缓存的用户权限管理方法和装置,使用有缓存查权方法,由于登录验证用户身份环节需要查找用户权限缓存表,所以登录用时明显比无缓存方法的要多一些;登录时只把该用户最经常使本文档来自技高网...
基于缓存的用户权限管理方法及装置

【技术保护点】
一种基于缓存的用户权限管理方法,其特征在于,包括如下步骤:用户进行访问时,查询用户权限缓存数据库是否存在该用户的访问权限数据记录;如果没有,则生成访问权限数据,并将所述访问权限数据存储到所述用户权限缓存数据库;如果有,则根据所述用户权限缓存数据库中的该用户的访问权限数据记录将该用户的访问权限数据载入内存。

【技术特征摘要】
1.一种基于缓存的用户权限管理方法,其特征在于,包括如下步骤:用户进行访问时,查询用户权限缓存数据库是否存在该用户的访问权限数据记录;如果没有,则生成访问权限数据,并将所述访问权限数据存储到所述用户权限缓存数据库;如果有,则根据所述用户权限缓存数据库中的该用户的访问权限数据记录将该用户的访问权限数据载入内存。2.如权利要求1所述的基于缓存的用户权限管理方法,其特征在于,所述生成访问权限数据的步骤为根据RBAC查权方法生成访问权限数据。3.如权利要求1或2所述的基于缓存的用户权限管理方法,其特征在于,所述用户的访问权限数据记录包括用户信息、用户访问资源信息、操作权限信息和资源访问次数信息中的任意信息。4.如权利要求3所述的基于缓存的用户权限管理方法,其特征在于,当用户权限缓存数据库存在该用户的访问权限数据记录时,累计资源访问次数信息。5.如权利要求3所述的基于缓存的用户权限管理方法,其特征在于,还包括如下步骤:根据预定资源访问次数,将超过所述预定资源访问次数的资源的访问权限数据直接载入内存。6.一种基于缓存的用户权限管理装置,其特征在于,包括:用户权限缓存数据库,用于存储用户访问资源数据记录,其...

【专利技术属性】
技术研发人员:李晨彭龙李明泉刘华梁杰雯李志真郑东波赵清
申请(专利权)人:航天恒星科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1