原理登录成功后,将登录信息保存到文件/数据库中,同时保存创建时间和过期时间,下次取出来验证,使用express-session中间件进行session操作安装express-sessionnpminstallexpress-sessionconfigureexpess-sessionmiddleware//使用express-session插件app.use(session({secret:'keyboardcat',//这是秘钥resave:false,saveUninitialized:true,cookie:{path:'/',//发送cookie的路径httpOnly:true,//http请求是否安全:false,maxAge:1000*60*60//设置过期时间,单位ms}}))sendto如果前端登录成功,则发送给前端,存储在前端,下次请求时携带到后端。req.session.userInfo={id:_judge_result[0]._id,level:_judge_result[0].level||8//8为级别权限}登录验证constisSignin=(req,res)=>{if(req.session.userInfo){res.render('user',{code:200,data:JSON.stringify({msg:"userAlreadyloggedin"})})}else{res.render('user',{code:403,data:JSON.stringify({msg:"用户未登录,请重新登录"})})}}总结:后台存储验证信息的方式,如果用户数过多大,需要负载均衡,也容易受到网站钓鱼等攻击。如果您有任何见解,欢迎留言。