一种在mvc下的session检查方法技术

技术编号:37821685 阅读:12 留言:0更新日期:2023-06-09 09:57
本发明专利技术提供一种在mvc下的session检查方法,其特征在于,包括:用户登录成功后,获取session中的关键字并与随机字符串拼接并做sha1算法签名;将签名值记录到home页面的checksession方法,并返回用户home页面;若用户点菜单,服务器先返回对应的页面,所述页面展现时会马上调用home页面中的checksession方法,如返回的结果是失败,则马上调用home页面中的登出方法登出系统;若用户点击功能页面里的功能,在请求后台前先调用home页面中的checksession方法等,这样不管是返回页面还是返回业务结果,都会在点击后作session检查,这样就能达到实时检查的目地。样就能达到实时检查的目地。样就能达到实时检查的目地。

【技术实现步骤摘要】
一种在mvc下的session检查方法


[0001]本专利技术涉及一种计算机信息
,尤其是一种在mvc下的session检查方法。

技术介绍

[0002]有些后台系统,在登陆后会要求先选择背景信息,然后再跳转到与此背景信息有关的后台页面中。以某学校管理平台为例,在登陆学校管理平台后,如图1所述,如果系统检测到当前登陆账号在多个学校中都有教师身份,会先跳到学校选择页面。如图2所示,在选择学校后,再跳到所选学校的管理页面;目前web网站有两种结构,一种是mvc结构,一种是前后端分离。前后端分离就是页面和业务代码都独立开发、独立部署。用户首先是请求到页面,然后页面再请求业务代码所在服务器并将得到的数据用js语言渲染页面。而mvc结构是页面和业务代码一起开发,并作为一个应用部署。用户直接请求该应用,应用处理完业务后直接用结果生成页面并返回给用户;如图3,mvc结构下的后台页面一般是iframe结构,就是就用跳到管理页面时,是进入到一个home页面,home页面里有一个iframe的标签,它用来放各功能模块页面如图3所示:当用户点菜单功能1时,后台将返回菜单功能1对应的页面,它将在iframe中显示;在基于mvc框架下作出的后台系统会有个问题,就是同一浏览器下,打开同一个域名下的多个页面时,这多个页面共享同一个session。比如图1中的例子,先打开一个登录页面,选择了“学校1”,这时我的session里存的是和“学校1”有关的信息,比如学校1的schoolCode:xxx,如图4。在不关闭这个页面的情况下,再打一个登录页面后登录,选择“学校2”(假设学校2的schoolCode为yyy)。这时一开始打的页面所对应的session会变更为后打开页面的session。也就是说,再回到页面1取学生数据时,会返回schoolCode为yyy的学生数据,如图5。这样势必会造成用户操作上的错误,比如原本想去学校1中发布信息的,结果信息发到了学校2中;在行业中,一般实现方案一般是页面写个定时轮询功能,该功能每隔一个固定的时间就拿页面中的值去后面检查。这样作有三个问题,一是当用户有段时间什么都不作时,增加了没有必要的请求,对后台系统造成没有必要的负担。二是只要页面还打开时,则用户的session永远不过期。三是实时性不强,假设置轮询时间是5分钟,那用户在再次登陆后需要在5分钟后才感知,而在这5分钟内可能用户已经完成了误操作。

技术实现思路

[0003]本专利技术的主要目的是克服现有技术的不足,提供一种在mvc下的session检查方法,可避免多个页面共享同一个session时的误操作,同时可降低后台系统的负担,实时session检查,提高系统的处理效率;为实现上述目的,本专利技术提出一种在mvc下的session检查方法,其特征在于,包括:
用户登录成功后,获取session中的关键字并与随机字符串拼接并做sha1算法签名;将签名值记录到home页面的checksession方法,并返回用户home页面;若用户点菜单,服务器先返回对应的页面,所述页面展现时会马上调用home页面中的checksession方法,如返回的结果是失败,则马上调用home页面中的登出方法登出系统;若用户点击功能页面里的功能,在请求后台前先调用home页面中的checksession方法,如返回的结果是失败,则马上调用home页面中的登出方法登出系统,否则调用业务功能;优选地,所述home页面的checksession方法包括向服务器请求session检查,若请求成功则方法通过,如果失败则跳转到登陆页面;优选地,所述服务器处理session检查请求时,从所述session中的关键字的值,然后和请求参数拼接,做sha1算法签名后进行比对,若相等则返回成功,否则返回失败;优选地,所述home页面的checksession方法包括获取所述session中的关键字,作为home页面session_check_sign的值;以及获取随机字符串作为home页面session_check_random的值;优选地,所述服务器处理session检查请求时,从所述session中的关键字的值,然后和session_check_random的值拼接,做sha1算法签名后与session_check_sign进行比对,若相等则返回成功,否则返回失败;优选地,还包括,在所有功能页面配置一js文件以使页面展现时自动执行home页面的中的checksession方法;优选地,还包括,在所有功能页面所配置的js文件中,给页面上所有的form表单添加一事件处理器,所述事件处理器在点击提交表单时,先执行home页面的中的checksession方法;优选地,所有功能页面所配置的js文件中,给所有ajax请求添加请求前事件处理器,所述请求前事件处理器中ajax发起请求前先执行home页面的中的checksession方法。
附图说明
[0004]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图;图1为现有技术中某学校管理平台的页面示意图之一;图2为现有技术中某学校管理平台的页面示意图之二;图3为mvc结构下的后台页面iframe结构示意图;图4为图1中登录页面选择学校一后的流程示意图;图5为本专利技术一优选实施例中的流程示意图之一;图6为本专利技术一优选实施例中的流程示意图之二;图7为本专利技术一优选实施例中的流程示意图之三;
图8为本专利技术一优选实施例中的流程示意图之四;本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
[0005]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术的一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围;本专利技术涉及一种在mvc下的session检查方法,某一实施例中,该方法包括:用户登录成功后,获取session中的关键字并与随机字符串拼接并做sha1算法签名;将签名值记录到home页面的checksession方法,并返回用户home页面;若用户点菜单,服务器先返回对应的页面,所述页面展现时会马上调用home页面中的checksession方法,如返回的结果是失败,则马上调用home页面中的登出方法登出系统;若用户点击功能页面里的功能,在请求后台前先调用home页面中的checksession方法,如返回的结果是失败,则马上调用home页面中的登出方法登出系统,否则调用业务功能。所述home页面的checksession方法包括向服务器请求session检查,若请求成功则方法通过,如果失败则跳转到登陆页面。服务器处理session检查请求时,从所述sess本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种在mvc下的session检查方法,其特征在于,包括:用户登录成功后,获取session中的关键字并与随机字符串拼接并做sha1算法签名;将签名值记录到home页面的checksession方法,并返回用户home页面;若用户点菜单,服务器先返回对应的页面,所述页面展现时会马上调用home页面中的checksession方法,如返回的结果是失败,则马上调用home页面中的登出方法登出系统;若用户点击功能页面里的功能,在请求后台前先调用home页面中的checksession方法,如返回的结果是失败,则马上调用home页面中的登出方法登出系统,否则调用业务功能。2.如权利要求1所述的在mvc下的session检查方法,其特征在于,所述home页面的checksession方法包括向服务器请求session检查,若请求成功则方法通过,如果失败则跳转到登陆页面。3.如权利要求3所述的在mvc下的session检查方法,其特征在于,所述服务器处理session检查请求时,从所述session中的关键字的值,然后和请求参数拼接,做sha1算法签名后进行比对,若相等则返回成功,否则返回失败。4.如权利要求3所述的在mvc下的session检查方法,其特征在于,所述home页面的checksession方法包括获取所述s...

【专利技术属性】
技术研发人员:李宝君何玉华
申请(专利权)人:全通金信控股广东有限公司
类型:发明
国别省市:

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

1