单点登陆连接超时的解决方式

登入时自动生成在所有系统的验证标志

  本方法需要在各个子系统的登入页面放置于框架页面中,在框架的其他页面中隐藏其他子系统的登入页面,当点击“登陆”时触发JS事件把当前的用户名/密码提交到其他子系统的登陆页面中,并且一同提交。这样一次登入,其他所有系统也就登入了。
  效率:这个方法几乎可以不要修改过多的代码,而且可以使用于所有的多系统情况,可以跨平台,跨服务器
  缺点:登入完后,如果没有在各个子系统切换,那使用SESSION的子系统可能会发生登入超时现象。不过这个解决方法也简单,只需要在其他自系统的包含文件(如copyRight)中用IFRAME的方式包含其他子系统的更新在线状态的页面,这样就可以持续保持状态。

2。登入时只生成本系统的验证标志,在转入其他系统中时,从httpContext中通过验证的标志中转化出当前系统需要的验证,当然这个必须在所有系统在同个WEB服务器,并且使用同种技术的前提下。

3。使用数据库来记录当前的在线信息,登入后就往数据库增加在线信息,并且存入客户端的能够体现其唯一性的信息(IP+机器名等)。

  当某个系统要获取当前用户是否登入的信息时先判断该子系统的登入信息是否存在,如果不存在,则再判断状态数据库中是否存在当前客户端的在线信息。
  效率:这个方法效率是比较高的,可以使用于所有的多系统情况,可以跨平台,跨服务器。
  缺点:要深入修改各个程序的代码
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值