基于web应用的资源验证系统和方法技术方案

技术编号:8961341 阅读:98 留言:0更新日期:2013-07-25 20:34
一种基于web应用的资源验证系统和方法,所述方法包括:接收来自客户端的用户对资源的业务请求;判断该资源是否需要验证;响应于该资源需要验证,根据用户信息生成用户拥有资源集;将该用户拥有资源集放入资源验证用的上下文数据中;读取所述上下文数据,将用户请求的资源与所述用户拥有资源集中的资源相匹配;响应于匹配成功,则从所述上下文数据中读取用户请求的资源,执行该资源对应的业务操作。本发明专利技术能够准确、统一地进行web资源验证,并对资源的权限进行精细化控制。

【技术实现步骤摘要】

本专利技术涉及Web资源验证技术,更具体而言,涉及基于Web应用的资源验证系统和方法。
技术介绍
在大部分企业Web应用中都会涉及到对用户的认证以及权限的控制,且这部分内容都非常敏感。而用户的身份经常会发生变化,那么其拥有的权限关系也会随着发生变更。所以对用户请求的资源进行认证以及对用户的权限关系进行实时的管理是非常重要的。传统的基于Web应用资源的权限控制方法,一般都采用对用户及资源做简单的验证,验证方式较为单一,对用户的角色或权限变更不能实时做出反应。同时,传统的基于Web应用资源的权限控制方法还存在验证逻辑与业务部分耦合度太高的问题。而实际上,无论何种进行资源验证和权限控制的系统,资源验证和权限控制都不能过多影响实际业务操作的时长,特别是拥有庞大客户访问量的企业web应用。如果占用实际业务操作时长过长,客户满意度降低,会大大影响企业业务。因此,web应用的资源验证和权限控制要高效、准确、同时不能对实际业务的处理时长有大的影响。
技术实现思路
为解决现有技术中存在的以上问题,本专利技术提供一种基于web应用的资源验证方法,包括:步骤1:接收来自客 户端的用户对资源的业务请求;步骤2:判断该资源是否需要验证;步骤3:响应于该资源需要验证,根据用户信息生成用户拥有资源集;步骤4:将该用户拥有资源集放入资源验证用的上下文数据中;步骤5:读取所述上下文数据,将用户请求的资源与所述用户拥有资源集中的资源相匹配;步骤6:响应于匹配成功,则从所述上下文数据中读取用户请求的资源,执行该资源对应的业务操作本专利技术还提供一种基于web应用的资源验证系统,包括:统一认证单元,统一认证单元接收来自客户端的用户对资源的业务请求,如果该资源需要认证,则根据用户信息生成用户拥有资源集,且将用户拥有资源集放入资源验证用的上下文数据中;资源验证单元,资源验证单元响应于该资源需要认证,而读取所述上下文数据,将用户请求的资源与所述用户拥有资源集中的资源相匹配;以及用户行为及业务执行单元,用户行为及业务执行单元响应于资源匹配成功,而执行该资源对应的业务操作。本专利技术的系统和方法能够准确地、统一地进行web资源验证,并对资源的权限进行精细化控制。本专利技术的系统和方法还能够使得web资源验证与web应用的实际业务耦合度降低,具有对实际业务操作的低侵入性。附图说明图1为本专利技术的系统的结构图;图2为本专利技术的方法的流程图;以及图3为本专利技术的方法的更详细的流程图。具体实施例方式下面参照图1并结合“京东云存储系统”为例,对专利技术的系统做具体的描述。图1显示了本专利技术的系统的结构图。本专利技术的系统包括:统一认证单元,统一认证单元接收来自客户端的用户对资源的业务请求,如果该资源需要被验证,且用户通过认证,则根据用户信息生成用户拥有资源集,且将用户拥有资源集放入资源验证用的上下文数据中;资源验证单元,资源验 证单元响应于该资源需要认证,而读取所述上下文数据,将用户请求的资源与所述用户拥有资源集中的资源相匹配;以及用户行为及业务执行单元,用户行为及业务执行单元响应于资源匹配成功,而执行该资源对应的业务操作。更具体而言,统一认证单元可以包括拦截模块和用户认证模块,当然,这两个模块也可以合二为一。拦截模块拦截来自客户端的用户的资源请求,该请求中包括了用户信息和请求的资源。拦截模块拦截该请求,将该请求的资源与预先设置的待验证资源池中的资源相比较,比较方法为精确匹配。如果用户请求的资源不在待验证资源池中,表明不需要进行资源验证,可以将该资源的请求直接传输至用户行为及业务执行单元,进行业务操作,这种处理方式可以简化对共用资源的验证,提高系统性能。如果拦截模块判定用户请求的资源在待验证资源池中,则表明需要对该资源进行资源验证。用户认证模块根据用户身份信息生成用户拥有资源集,放入资源验证用的上下文数据中,并发送相应消息至资源验证单元使得资源验证单元开始进行资源验证。资源验证单元响应于自统一认证单元判断所述资源需要验证,读取所述上下文数据,将用户请求的资源与所述用户拥有资源集中的资源相匹配,如果匹配失败,则向客户端发送匹配失败信息,如果匹配成功,则发送相应消息至所述用户行为及业务执行单元。用户行为及业务执行单元响应于所述资源验证单元的匹配成功,从所述上下文数据中读取用户请求的资源,执行该请求对应的业务操作,将结果反馈至客户端。这样就完成了一个完整地、统一地资源验证。进一步,为了增加资源验证的准确性,资源验证单元采用了精确匹配和表达式匹配。所述资源验证单元可以包括精确匹配模块和表达式匹配模块。精确匹配模块读取用户拥有资源集,并与用户请求的资源(资源例如可以是URL)进行精确匹配,如匹配成功则请求合法,发送相应消息给用户行为及业务执行单元以执行业务操作。更进一步,如果匹配失败,由表达式匹配模块再进行表达式匹配,例如利用正则表达式或自定义规则进行匹配。如过表达式匹配失败则返回结束信息至请求者,反之则发送匹配成功消息给用户行为及业务执行单元以执行业务操作。进一步,为了保证用户的合法性,在对资源验证前先对用户进行身份认证。具体为,当拦截模块将用户的资源请求传输给用户认证模块后。用户认证模块根据所述请求的上下文或会话信息进行用户身份认证,认证方法有多种,如根据解密后的cookie或session中数据验证(session或cookie为用户登录成功时赋值)。身份认证通过后,用户认证模块根据用户信息生成用户拥有资源集,放入资源验证用的上下文数据中。更进一步,为了保证用户与资源关系的实时及准确性,本专利技术的系统还包括初始化及动态维护单元。所述初始化及动态维护单元在web应用初始化的时候从持久化数据中读取并加载(例如,加载到内存中)用户-角色基础数据、角色-资源关系数据。并且根据系统需求实时地配置用户-角色基础数据、角色-资源关系数据。例如,在“京东云存储系统”中,体现为初始化时加载用户-角色基础数据、角色-资源关系数据到内存,并通过“动态维护单元”在后台维护以上数据,并使其实时生效。更具体地,所述初始化及动态维护单元给系统中的用户分配角色,每个角色可拥有一定的资源。用户-角色、角色-资源之间的分配方法根据具体业务而设定,角色-资源之间的对应关系可以根据业务需要而改变。每一个用户可以拥有一个或多个角色,每个角色可以拥有一个或多个资源,且每个角色的资源可以重叠。因此,每一个用户都可以拥有一个资源集。用户-角色基础数据、角色-资源关系数据作为持久化数据被存储。当然,也可以不采用角色为中介,直接将用户与资源进行关联。进一步,所述初始化及动态维护单元可以包括初始化模块和动态维护模块。初始化模块在web应用初始化时从持久化数据库中读取并加载用户-角色基础数据、角色-资源关系数据。加载可以理解为传输至统一认证单元中,也可以加载至统一认证单元可以访问的存储器中,例如,加载到内存中。动态维护模块根据系统需求对用户-角色基础数据、角色-资源关系数据进行实时的维护,包括用户角色变化时,更新用户-角色基础数据,当角色对应的资源发生变化时,更新角色-资源关系数据。对于通过身份认证的新用户,初始化及动态维护单元给该新用户分配角色,在持久化数据中存储该用户的用户-角色基础数据和角色-资源关系数据,将针对该新用户的资源传输给统一认本文档来自技高网...

【技术保护点】
一种基于web应用的资源验证方法,其特征在于,包括:步骤1:接收来自客户端的用户对资源的业务请求;步骤2:判断该资源是否需要验证;步骤3:响应于该资源需要验证,根据用户信息生成用户拥有资源集;步骤4:将该用户拥有资源集放入资源验证用的上下文数据中;步骤5:读取所述上下文数据,将用户请求的资源与所述用户拥有资源集中的资源相匹配;以及步骤6:响应于匹配成功,则从所述上下文数据中读取用户请求的资源,执行该资源对应的业务操作。

【技术特征摘要】
1.一种基于web应用的资源验证方法,其特征在于,包括: 步骤1:接收来自客户端的用户对资源的业务请求; 步骤2:判断该资源是否需要验证; 步骤3:响应于该资源需要验证,根据用户信息生成用户拥有资源集; 步骤4:将该用户拥有资源集放入资源验证用的上下文数据中; 步骤5:读取所述上下文数据,将用户请求的资源与所述用户拥有资源集中的资源相匹配;以及 步骤6:响应于匹配成功,则从所述上下文数据中读取用户请求的资源,执行该资源对应的业务操作。2.根据权利要求1所述的基于web应用的资源验证方法,其特征在于,所述步骤3还包括: 步骤3-1:响应于该资源需要验证,进一步对用户身份进行认证;以及 步骤3-2:响应于用户身份认证成功,根据用户信息生成用户拥有资源集。3.根据权利要求2所述的基于web应用的资源验证方法,其特征在于,在所述步骤3-1中通过所述请 求携带的cookie或session信息来对用户身份进行认证。4.根据权利要求1所述的基于web应用的资源验证方法,其特征在于,所述步骤3还包括: 步骤3-3:响应于该资源需要验证,根据用户信息且基于预先存储的用户-角色基础数据和角色-资源关系数据,获取该用户对应的资源集合;以及 步骤3-4:去除该资源集合中的重复的资源,生成用户拥有资源集。5.根据权利要求1所述的基于web应用的资源验证方法,其特征在于,所述步骤2还包括: 如果请求的所述资源在预先设置的待验证资源池中,则判定需要对该资源进行认证。6.根据权利要求1所述的基于web应用的资源验证方法,其特征在于,所述步骤5还包括: 步骤5-1:通过精确匹配来对用户请求的资源与所述用户拥有资源集中的资源进行匹配。7.根据权利要求6所述的基于web应用的资源验证方法,其特征在于,所述步骤5还包括: 步骤5-2:响应于精确匹配失败,进一步通过表达式匹配来对用户请求的资源与所述用户拥有资源集中的资源进行匹配。8.根据权利要求1所述的基于web应用的资源验证方法,其特征在于,在所述步骤6之后还包括: 步骤7:响应于所述业务操作操作执行完毕,根据所述上下文数据中的用户拥有资源集生成菜单结构,并响应给客户端。9.根据权利要求8所述的基于web应用的资源验证系统,其特征在于,所述步骤7还包括: 步骤7-1:响应于所述业务操作执行完毕,判断所述请求是否为同步请求; 步骤7-2:响应于判断所述请求为异步请求,发送执行结果至所述客户端;以及步骤7-3:响应于判断所述请求为同步请求,根据所述上下文数据中的用户拥有资源集生成菜单结构,并响应给客户端。10.一种基于web应用的资源验证系统...

【专利技术属性】
技术研发人员:谭龙
申请(专利权)人:北京京东尚科信息技术有限公司
类型:发明
国别省市:

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

1