应用服务器和请求处理方法

文档序号:8006464阅读:686来源:国知局
应用服务器和请求处理方法
【专利摘要】本发明提供了一种应用服务器和一种请求处理方法,其中应有服务器包括:控制单元,用于在用户通过客户端登录应用服务器后,为用户分配唯一标识,将唯一标识与用户的登录信息进行对应存储,以及在用户注销登录时,清除唯一标识和登录信息,以及判断应用服务器中是否存在唯一标识或登录信息;通信单元,用于将唯一标识或登录信息返回至客户端;拦截单元,用于拦截客户端发出的请求,从请求中获取唯一标识或登录信息;重定向单元,用于在控制单元确定不存在获取的唯一标识或登录信息时,重定向至登录界面。通过服务端拦截所有客户端发起的请求的方式判断发起请求的用户的身份是否合法,防止冲突发生。
【专利说明】应用服务器和请求处理方法
【技术领域】
[0001]本发明涉及计算机【技术领域】,具体而言,涉及一种应用服务器和一种请求处理方法。
【背景技术】
[0002]BS (Brower/Server)产品或 BS 网站不同于 CS (Client/Server)产品,BS 产品系统一般运行在客户端机器的浏览器中,当用户A登录系统后,其登录身份信息会保留在浏览器的cookie中,在该cookie过期或被清除之前,只要再次用该浏览器打开此系统,服务端检测到此浏览器cookie中的用户A的身份信息后,会直接以A的身份进行登录。
[0003]同时,现在的浏览器都支持多页签,即在同一浏览器实例中可以通过打开多个页签来运行多个或同一个系统。
[0004]如此使用场景下就可能会出现以下问题:
[0005]用户A首先打开一个页签I,登录系统,这时打开一个新页签2,这个新页签2检测到用户A的cookie信息,会自动以用户A的身份登录,即此时页签I和页签2同时显示用户A的操作界面。这时,在页签I中进行注销操作,页签I回到登录界面,再使用用户B进行登录,登录成功后,页签I显示用户B的操作界面,同时该浏览器的cookie信息被替换成用户B的身份认证信息。此时,页签2仍旧显示用户A的操作界面,若在此页签上进行任何数据操作或请求,携带的都是用户B的身份信息,即任何操作实际都将以用户B来进行。这样就会产生操作冲突、数据不一致性等错误问题。换言之,对于操作者来说,虽然看到的是用户A的操作界面,但本质是以用户B的身份、数据信息来进行操作的。
[0006]这样的操作会导致操作冲突、数据不一致性等问题。尤其对于ERP、财务系统等应用,可能导致严重的后果。

【发明内容】

[0007]本发明正是基于上述技术问题,提出了一种新的请求处理技术,可解决使用多个用户登录系统所产生的数据错误及操作冲突的问题。
[0008]有鉴于此,根据本发明的一个方面,提供了一种应用服务器,包括:控制单元,用于在用户通过客户端登录应用服务器后,为所述用户分配唯一标识,将所述唯一标识与所述用户的登录信息进行对应存储,以及在所述用户注销登录时,清除所述唯一标识和所述登录信息,以及判断所述应用服务器中是否存在所述唯一标识或所述登录信息;通信单元,用于将所述唯一标识或所述登录信息返回至所述客户端;拦截单元,连接至所述通信单元,用于拦截所述客户端发出的请求,从所述请求中获取所述唯一标识或所述登录信息;重定向单元,连接至所述控制单元,用于在所述控制单元确定不存在获取的所述唯一标识或所述登录信息时,重定向至登录界面。
[0009]在应用服务器中记录用户的登录信息以及对应的唯一标识,并在用户注销登录时,清除记录的唯一标识和登录信息。当客户端发出请求时,判断是否可找到该用户的登录信息和/或唯一标识,若查找不到,说明该用户之前已经注销登录,则重定向至登录界面,需要用户重新登录,这样就可以防止在页签I注销用户A的登录后,页签2仍可以该用户A的身份登录所引起的身份冲突以及操作冲突问题。
[0010]在上述技术方案中,优选的,所述控制单元还用于将所述唯一标识与所述用户的登录信息对应存储于散列表中;所述应用服务器还包括:提示单元,用于在所述控制单元确定所述散列表中不存在所述唯一标识或所述登录信息时,提示所述客户端已注销登录。
[0011]当重定向至登录界面时,可提示友好提示默认的账户已注销登录,请重新登录。
[0012]在上述任一技术方案中,优选的,所述拦截单元还用于通过HttpModule方式拦截所述请求。
[0013]在上述任一技术方案中,优选的,还可以包括:处理单元,在所述控制单元确定存在所述唯一标识或所述登录信息时,处理拦截的所述请求。如果存在唯一标识和登录信息记录,说明该用户账户未注销登录,是同一个人在登录操作,则可以正常处理客户端的请求。
[0014]在上述任一技术方案中,优选的,所述应用服务器为基于BS架构系统的服务器。
[0015]本发明通过服务端拦截所有客户端发起的请求的方式,判断当前的请求的发起人的身份是否依旧合法,若合法,则正常响应请求,否则,将会以一种友好直观的方式通知客户端。
[0016]根据本发明的另一方面,还提供了一种请求处理方法,包括:在用户通过客户端登录应用服务器后,为所述用户分配唯一标识,将所述唯一标识与所述用户的登录信息进行对应存储,并将所述唯一标识或所述登录信息返回至所述客户端;在所述用户注销登录时,清除所述唯一标识和所述登录信息;拦截所述客户端发出的请求,从所述请求中获取所述唯一标识或所述登录信息;判断所述应用服务器中是否存在所述唯一标识或所述登录信息,若不存在,则重定向至登录界面。
[0017]在应用服务器中记录用户的登录信息以及对应的唯一标识,并在用户注销登录时,清除记录的唯一标识和登录信息。当客户端发出请求时,判断是否可找到该用户的登录信息和/或唯一标识,若查找不到,说明该用户之前已经注销登录,则重定向至登录界面,需要用户重新登录,这样就可以防止在页签I注销用户A的登录后,页签2仍可以该用户A的身份登录所引起的身份冲突以及操作冲突问题。
[0018]在上述技术方案中,优选的,所述将所述唯一标识与所述用户的登录信息进行对应存储的步骤还包括:将所述唯一标识与所述用户的登录信息对应存储于散列表中;所述判断所述应用服务器中是否存在所述唯一标识或所述登录信息的步骤还包括:若所述散列表中不存在所述唯一标识或所述登录信息,则提示所述客户端已注销登录。当重定向至登录界面时,可提示友好提示默认的账户已注销登录,请重新登录。
[0019]在上述任一技术方案中,优选的,还可以包括:通过HttpModule方式拦截所述请求。
[0020]在上述任一技术方案中,优选的,还可以包括:若存在所述唯一标识或所述登录信息,则处理拦截的所述请求。如果存在唯一标识和登录信息记录,说明该用户账户未注销登录,是同一个人在登录操作,则可以正常处理客户端的请求。
[0021]在上述任一技术方案中,优选的,所述应用服务器为基于BS架构系统的服务器。[0022]本发明通过服务端拦截所有客户端发起的请求的方式,判断当前的请求的发起人的身份是否依旧合法,若合法,则正常响应请求,否则,将会以一种友好直观的方式通知客户端。
【专利附图】

【附图说明】
[0023]图1示出了根据本发明的实施例的应用服务器的框图;
[0024]图2示出了根据本发明的实施例的请求处理方法的流程图;
[0025]图3示出了根据本发明的实施例的请求处理方法的流程图。
【具体实施方式】
[0026]为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和【具体实施方式】对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
[0027]在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
[0028]图1示出了根据本发明的实施例的应用服务器的框图。
[0029]如图1所示,根据本发明的实施例的应用服务器100包括:控制单元102,用于在用户通过客户端登录应用服务器100后,为所述用户分配唯一标识,将所述唯一标识与所述用户的登录信息进行对应存储,以及在所述用户注销登录时,清除所述唯一标识和所述登录信息,以及判断所述应用服务器中是否存在所述唯一标识或所述登录信息;通信单元104,用于将所述唯一标识或所述登录信息返回至所述客户端;拦截单元106,连接至所述通信单元,用于拦截所述客户端发出的请求,从所述请求中获取所述唯一标识或所述登录信息;重定向单元108,连接至所述控制单元102,用于在所述控制单元确定不存在获取的所述唯一标识或所述登录信息时,重定向至登录界面。
[0030]在应用服务器中记录用户的登录信息以及对应的唯一标识,并在用户注销登录时,清除记录的唯一标识和登录信息。当客户端发出请求时,判断是否可找到该用户的登录信息和/或唯一标识,若查找不到,说明该用户之前已经注销登录,则重定向至登录界面,需要用户重新登录,这样就可以防止在页签I注销用户A的登录后,页签2仍可以该用户A的身份登录所引起的身份冲突以及操作冲突问题。
[0031]在上述技术方案中,优选的,所述控制单元102还用于将所述唯一标识与所述用户的登录信息对应存储于散列表中;所述应用服务器100还包括:提示单元110,用于在所述控制单元确定所述散列表中不存在所述唯一标识或所述登录信息时,提示所述客户端已注销登录。
[0032]当重定向至登录界面时,可提示友好提示默认的账户已注销登录,请重新登录。
[0033]在上述任一技术方案中,优选的,所述拦截单元还用于通过HttpModule方式拦截所述请求。
[0034]在上述任一技术方案中,优选的,还可以包括:处理单元112,在所述控制单元确定存在所述唯一标识或所述登录信息时,处理拦截的所述请求。[0035]如果存在唯一标识和登录信息记录,说明该用户账户未注销登录,是同一个人在登录操作,则可以正常处理客户端的请求。
[0036]在上述任一技术方案中,优选的,所述应用服务器100为基于BS架构系统的服务器。
[0037]为了解决同一客户端机器上相同浏览器实例的不同页签上登录不同用户会产生冲突这一问题,本发明在服务器端维护了一个Key-Value Pair (键值对),为每一个用户缓存一个标识,客户端发起请求时携带这个标识到服务端去匹配,如果能够匹配,则说明用户登录状态正常,可以正常处理请求;否则,说明当前用户已注销登录,应该提示用户或重定向至登录界面。具体处理流程请参见图2。
[0038]如图2所示,步骤202,用户登录应用服务器后,应用服务器为该用户创建一个Key-Value Pair (键值对)。用户登录后,会将用户登录信息(诸如token)作为Value存入其中,同时为其取一个具有唯一性的Key (即唯一标识)与其对应,可将唯一标识和用户的登录信息对应保存在哈希表中。
[0039]步骤204,客户端发起的所有请求的URL后会携带参数key或Value。
[0040]步骤208,当用户注销时,服务端会从Key-Value Pair中自动清除该用户的Key对应的用户信息Value。
[0041]步骤206,服务端通过HttpModule等方式拦截所有客户端发起的请求,取得请求所携带的Key或Value。
[0042]步骤210,判断Key以及对应的用户信息Value是否存在于Key-Value Pair中,若存在,进入步骤212,否则,进入步骤214。
[0043]步骤212,说明用户处在正常已登录后的操作过程,则继续正常处理用户请求。
[0044]步骤214,若不存在,则说明用户已执行注销操作,终止请求的处理,重定向至登陆界面(或给予用户相关提示)。
[0045]根据本发明的请求处理方法有效地解决了一个当前BS架构系统应用下可能出现的潜在风险,保证了在同一客户端机器上使用相同浏览器实例,即使打开多个页签使用多个用户账户登录系统也不会产生数据错误及操作冲突的问题。并且,在检测到用户的操作存在此种风险时,会以友好的方式规避风险,并给予用户相关提示。
[0046]图3示出了根据本发明的实施例的请求处理方法的流程图。
[0047]如图3所示,根据本发明的实施例的请求处理方法,可以包括以下步骤:步骤302,在用户通过客户端登录应用服务器后,为用户分配唯一标识,将唯一标识与用户的登录信息进行对应存储,并将唯一标识或登录信息返回至客户端;步骤304,在用户注销登录时,清除唯一标识和登录信息;步骤306,拦截客户端发出的请求,从请求中获取唯一标识或登录信息;步骤308,判断应用服务器中是否存在唯一标识或登录信息,若不存在,则重定向至登录界面。
[0048]在应用服务器中记录用户的登录信息以及对应的唯一标识,并在用户注销登录时,清除记录的唯一标识和登录信息。当客户端发出请求时,判断是否可找到该用户的登录信息和/或唯一标识,若查找不到,说明该用户之前已经注销登录,则重定向至登录界面,需要用户重新登录,这样就可以防止在页签I注销用户A的登录后,页签2仍可以该用户A的身份登录所引起的身份冲突以及操作冲突问题。[0049]在上述技术方案中,优选的,所述将所述唯一标识与所述用户的登录信息进行对应存储的步骤还可以包括:
[0050]将所述唯一标识与所述用户的登录信息对应存储于散列表中;所述判断所述应用服务器中是否存在所述唯一标识或所述登录信息的步骤还包括:若所述散列表中不存在所述唯一标识或所述登录信息,则提示所述客户端已注销登录。当重定向至登录界面时,可提示友好提示默认的账户已注销登录,请重新登录。
[0051]在上述任一技术方案中,优选的,还可以包括:通过HttpModule方式拦截所述请求。
[0052]在上述任一技术方案中,优选的,还可以包括:若存在所述唯一标识或所述登录信息,则处理拦截的所述请求。如果存在唯一标识和登录信息记录,说明该用户账户未注销登录,是同一个人在登录操作,则可以正常处理客户端的请求。
[0053]在上述任一技术方案中,优选的,所述应用服务器为基于BS架构系统的服务器。
[0054]本发明通过服务端拦截所有客户端发起的请求的方式,判断当前的请求的发起人的身份是否依旧合法,若合法,则正常响应请求,否则,将会以一种友好直观的方式通知客户端。
[0055]本发明适用于所有通过浏览器访问的BS系统/网站。当不同的用户使用同一客户端上的相同浏览器访问同一站点时,会产生操作、数据冲突。通过本发明的技术方案能够截获并判断用户请求,判断当前的请求的发起人的身份是否依旧合法,若合法,则正常响应请求,否则,将会以一种友好直观的方式通知客户端,防止冲突的产生。
[0056]以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种应用服务器,其特征在于,包括: 控制单元,用于在用户通过客户端登录应用服务器后,为所述用户分配唯一标识,将所述唯一标识与所述用户的登录信息进行对应存储,以及在所述用户注销登录时,清除所述唯一标识和所述登录信息,以及判断所述应用服务器中是否存在所述唯一标识或所述登录信息; 通信单元,用于将所述唯一标识或所述登录信息返回至所述客户端; 拦截单元,连接至所述通信单元,用于拦截所述客户端发出的请求,从所述请求中获取所述唯一标识或所述登录信息; 重定向单元,连接至所述控制单元,用于在所述控制单元确定不存在获取的所述唯一标识或所述登录信息时,重定向至登录界面。
2.根据权利要求1所述的应用服务器,其特征在于,所述控制单元还用于将所述唯一标识与所述用户的登录信息对应存储于散列表中; 所述应用服务器还包括:提示单元,用于在所述控制单元确定所述散列表中不存在所述唯一标识或所述登录信息时,提示所述客户端已注销登录。
3.根据权利要求1所述的应用服务器,其特征在于,所述拦截单元还用于通过HttpModule方式拦截所述请求。
4.根据权利要求1所述的应用服务器,其特征在于,还包括: 处理单元,在所述控制单 元确定存在所述唯一标识或所述登录信息时,处理拦截的所述请求。
5.根据权利要求1至4中任一项所述的应用服务器,其特征在于,所述应用服务器为基于BS架构系统的服务器。
6.一种请求处理方法,其特征在于,包括: 在用户通过客户端登录应用服务器后,为所述用户分配唯一标识,将所述唯一标识与所述用户的登录信息进行对应存储,并将所述唯一标识或所述登录信息返回至所述客户端; 在所述用户注销登录时,清除所述唯一标识和所述登录信息; 拦截所述客户端发出的请求,从所述请求中获取所述唯一标识或所述登录信息; 判断所述应用服务器中是否存在所述唯一标识或所述登录信息,若不存在,则重定向至登录界面。
7.根据权利要求6所述的请求处理方法,其特征在于,所述将所述唯一标识与所述用户的登录信息进行对应存储的步骤还包括:将所述唯一标识与所述用户的登录信息对应存储于散列表中; 所述判断所述应用服务器中是否存在所述唯一标识或所述登录信息的步骤还包括:若所述散列表中不存在所述唯一标识或所述登录信息,则提示所述客户端已注销登录。
8.根据权利要求6所述的请求处理方法,其特征在于,还包括: 通过HttpModule方式拦截所述请求。
9.根据权利要求6所述的请求处理方法,其特征在于,还包括: 若存在所述唯一标识或所述登录信息,则处理拦截的所述请求。
10.根据权利要求6至9中任一项所述的请求处理方法,其特征在于,所述应用服务器为基于BS架构系统的 服务器。
【文档编号】H04L29/08GK103491141SQ201310397313
【公开日】2014年1月1日 申请日期:2013年9月4日 优先权日:2013年9月4日
【发明者】宫济昌, 焦剑, 刘道玉 申请人:用友软件股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1