java做的后台管理系统,前端vue做的,如何控制,让用户10分钟无操作就离线?
如何控制呀?前端sessionstore控制?
回答:
jwt
token设置有效时间
当有效时间过了就拦截,也就是离线
回答:
这个都是后端做,控制会话过期时间,
超过时间的自然无效了,也就离线。
前端倒计时虽然也可以控制,但不是好方法,因不能保证用户能留在前端页面。
回答:
简单的方法,前端保存下登录时间,每次请求后端接口都检查下这个时间,没过期就更新一下时间,过期了就删除登录信息,跳转到登录界面.
检查时间的操作和请求方法封装到一起
回答:
这是我采用的方案,由前端控制的,还须调用一下后端的注销接口,参考一下吧
// 最后操作时间window.lastOperateTime = dayjs();
function updateLastOperateTime() {
window.lastOperateTime = dayjs();
}
// 10分钟定时器
let myInterval = window.setInterval(function () {
let difference = dayjs().diff(window.lastOperateTime, 'minute');
console.info("myInterval difference----->", difference);
// 是否超出固定时间120分钟(2小时)未操作
if (difference > 120) {
// 关闭定时器,刷新主页面
window.clearInterval(myInterval);
window.location.href = '../login.html?random=' + Math.random();
}
}, 10 * 60 * 1000);
// 更新键盘或鼠标最后操作时间
$(document).keydown(function (e) {
updateLastOperateTime();
});
$(document).mousemove(function (e) {
updateLastOperateTime();
});
以上是 java做的后台管理系统,前端vue做的,如何控制,让用户10分钟无操作就离线? 的全部内容, 来源链接: utcz.com/p/944426.html