公开/公告号CN104410674A
专利类型发明专利
公开/公告日2015-03-11
原文格式PDF
申请/专利权人 国云科技股份有限公司;
申请/专利号CN201410640808.6
申请日2014-11-12
分类号H04L29/08(20060101);H04L29/06(20060101);
代理机构广东莞信律师事务所;
代理人余伦
地址 523808 广东省东莞市松山湖科技产业园区松科苑14号楼
入库时间 2023-12-17 04:53:00
法律状态公告日
法律状态信息
法律状态
2018-12-14
专利权人的姓名或者名称、地址的变更 IPC(主分类):H04L29/08 变更前: 变更后: 申请日:20141112
专利权人的姓名或者名称、地址的变更
2018-04-10
授权
授权
2015-04-08
实质审查的生效 IPC(主分类):H04L29/08 申请日:20141112
实质审查的生效
2015-03-11
公开
公开
技术领域
本发明涉及用户管理技术领域,特别是指一种单点登录系统的WEB会话同步 方法。
背景技术
单点登录(Single Sign On),简称为SSO,是目前比较流行的企业业务整合 的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可 以访问所有相互信任的应用系统。它包括可以将这次主要的登录映射到其他应 用中用于同一个用户的登录的机制。
当用户第一次访问应用系统1的时候,因为还没有登录,会被引导到用户 子系统中进行登录;根据用户提供的登录信息,用户子系统进行身份效验,如 果通过效验,应该返回给用户一个认证的凭据--sessionId;用户再访问别的应 用的时候就会将这个sessionId带上,作为自己认证的凭据,应用系统接受到请 求之后会把sessionId送到用户子系统进行效验,检查sessionId的合法性。如果 通过效验,用户就可以在不用再次登录的情况下访问应用系统2和应用系统3 了。
然而,在WEB服务器上,会话都会存在一个过期的时间。用户子系统或应 用系统操作这个过期时间没有进行操作的话,sessionId会失效,也就是认证会 不通过。目前,在用户子系统和应用系统的会话同步上,面临以下几个问题:
1、登录到应用系统后,一般不再访问用户子系统,长时间不访问用户子系 统会导致在其中的会话超时,sessionId失效,这时候再访问应用系统,会被重 定向到登录页面,没有单点登录的效果;
2、在用户子系统中用户会话超时以后,用户的在线状态没有被更新到应用 系统中。
发明内容
本发明解决的技术问题在于提供一种单点登录系统的WEB会话同步方法, 解决了用户管理领域里单点登录会话超时、用户状态不同步等相关问题。
本发明解决上述技术问题的技术方案是:
所述的方法包括如下步骤:
步骤1:在用户子系统登录成功以后,重定向到应用系统的登录成功页面时 将用户子系统的sessionId反馈到应用系统,应用系统将此sessionId和登录 时间作为上次会话接口访问时间加入到应用系统的会话列表中;
步骤2:在用户子系统中设置一个会话检测与刷新接口,在应用系统中设置 一个定时器定期访问会话检测与刷新接口,如果当前的时间到上次会话接口访 问的时间间隔达到设定的同步时间,那么检测用户子系统中sessionId是否正 常,如果正常,更新上次会话接口访问的时间为当前时间;如果不正常,则从 应用系统会话列表中删除此sessionId;
步骤3:在用户子系统中设置一个监听器,在用户子系统的会话超时,更新 用户状态信息并通知应用系统,应用系统将会话列表中此sessionId删除;
步骤4:用户再访问应用系统时,若应用系统会话列表没有sessionId,重 定向到登录界面,重新进行登录操作。
所述的单点登录系统模型是由一个用户子系统和N个应用系统组成;用户 子系统负责统一维护各应用系统的用户基本信息、用户权限信息,应用系统负 责具体的业务处理。
所述的用户子系统和应用系统有各自的session和session超时时间,通常应 用系统在第一次使用时登录用户子系统进行用户身份鉴别和权限验证,之后只 要应用系统不退出并正常使用则不会再去访问用户子系统;
所述的系统session超时时间,通常设置用户子系统的session超时时间大于 等于应用系统的session超时时间。
所述的用户子系统会话刷新,当应用系统带着用户子系统的sessionId访问 用户子系统即完成该用户的会话刷新,会话超时时间重新计算。
本发明方案的有益效果如下:
1、本发明的方法可以维持活跃的应用系统的登录状态,不会因为不对用户 子系统进行操作而导致会话超时;
2、本发明的方法能保证用户子系统的会话状态与应用系统保持一致,能实 现整个单点登录系统的会话同步。
附图说明
下面结合附图对本发明进一步说明:
图1为本发明的流程图;
图2为本发明的模型架构图;
具体实施方式
见附图1、2所示,本发明用户子系统负责保存用户基本信息、权限信息、 系统登入登出,应用系统负责具体的业务处理。
(1)用户子系统用户登录时的loginJudge方法把用户子系统的sessionId传 到应用系统;
Struts.xml配置文件配置登录后调用应用系统的loginNotify把sessionId传 到应用系统
(2)应用系统的loginNotify方法把用户子系统的sessionId保存在 MapSsoSession类中,MapSsoSession类主要保存应用系统的sessionId和用户子 系统的sessionId的对应关系;
(3)用户子系统提供session检测和刷新接口refreshSession.do;
(4)应用系统的定时任务SsoSessionTimer;
(5)用户子系统会话超时,定义监听器OnlineUserListener,更新用户在线状态 信息以便应用系统及时改变用户状态;
机译: 构成单点登录系统的Web服务器,控制其操作的方法以及用于控制其操作的记录介质存储程序
机译: 构成单点登录系统的Web服务器,相同功能的控制方法以及用于控制相同功能的存储程序的记录
机译: 基于Web的应用程序单点登录系统和方法