【问题标题】:Auto Logout When User Inactive Node.js用户不活动时自动注销 Node.js
【发布时间】:2020-11-17 10:56:11
【问题描述】:

当用户处于非活动状态时,我遇到了自动注销的问题。 我有一个注销按钮和一个重定向主页“/”

app.js

app.get('/logout',userContro.user_logout);

userController.js

user_logout = function(req,res){
   res.clearCookie("userId"); //clear cookie
   res.redirect('/'); 
};

当用户处于非活动状态 5 分钟时,我需要重定向到主页。 我可以尝试在用户logIn和计数器时使用setInterval,如果超时则返回true,但我不知道如何添加重定向到主页的功能。

我找到了Session auto logout after inactivity,但它仍然不适合我。

非常感谢大家!

【问题讨论】:

    标签: javascript logout


    【解决方案1】:

    使用 npm 的 session 库可以解决这种情况。

    使用以下命令安装它。

    npm install express-session

    然后,要求它并在 app.js 中使用它,如下所示

    var session=require('express-session')
    app.use(session({secret:"Key",cookie:{maxAge:600000}}))
    

    这里的 maxAge 是一个属性,当在指定时间内没有来自用户的请求时,自动会话结束。

    【讨论】:

    • 如果 cookie 存在,我们是否必须在客户端进行验证?保持用户登录或注销
    【解决方案2】:

    我完成了文件 js fontend 中的处理:

    setInterval(check_Mouse,1000); //check every second
    var x=0;
    var cnt=0;
    function myFunction(e) {
        cnt=0;      //onmousemove
    }
    function check_Mouse(){
    if(cnt==120){   //number second to logout
        cnt=0;
        window.location.href="/";   //go to homepage
    }else{
        cnt+=1;   //if not timeout, cnt++
    }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-09-28
      • 2023-03-16
      • 2011-08-04
      • 2014-10-20
      • 2011-03-05
      • 1970-01-01
      • 2013-09-23
      • 1970-01-01
      相关资源
      最近更新 更多