有关web项目自动登出时长

本次问题描述:客户反映,在登陆后,如果不进行操作一段时间。再操作会出现自动登出的情况。根据该情况进行排查,发现系统中设置的session保持时长为9小时。但是为什么会出现类似情况呢? 解答:本次情况和系统本身设置的session时长无关,如果设置时长是1分钟,那么1分钟未操作系统,再操作的时候会自动登出。 session保持时长:这个概念为两次向后套请求的时间间隔长度,也就是如果不操作系统9小时,那么再操作时会自动登出,但是一直操作系统的话,不会登出。 session共享:本系统有两台服务器,在配置负载均衡的时候设置了session共享。 本次的问题,明确了本系统的session保持时间,但是还是出现这样的问题,所以就怀疑负载均衡的session保持时间。问了一下网络的同事,确实为负载均衡的session保持时间较短,为300s,所以会出现这种问题。

解决,这种问题的解决,一般使用keepalive。 我们的解决方案是定时向后台发出一个异步请求,比如现在是300s,我们就设定没250s去进行一次ajax请求

$(function() {
	/**
	 * 数据传输
	 */
	function sendMsg(){
	  $.ajax({
	        type: "post",     
	        contentType: "application/json; charset=utf-8",   
	        dataType: "json",     
	        url: ctx + "RequestUrl/reUrl",    
	        data: {},   
	        success: function (data) { 
	                   },
	        error: function (err) { 
	            alert("err:" + err);
	        }
	    });
	}
	setInterval(sendMsg,240000);  //定时传送数据
});

该function一定要放到$(function(){})内部。因为setInterval定时读取的方法一定要在内部,并且在setInterval方法前定义

转载于:https://my.oschina.net/u/3045515/blog/1586768

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值