登陸成功後,保存登陸信息到文件/數據庫種,同時保存建立時間和過時時間,下次驗證的時候取出來作驗證
使用express-session中間件來進行session的操做
npm install express-session
//使用express-session插件 app.use(session({ secret: 'keyboard cat',//這是祕鑰 resave: false, saveUninitialized: true, cookie: { path: '/',//發送的cookies路徑 httpOnly: true,//是否http請求 secure: false, maxAge: 1000*60*60 //設置過時的時間,以ms爲單位 } }))
若是登陸成功,發送給前端,前端存儲,下次請求時攜帶給後端前端
req.session.userInfo={ id:_judge_result[0]._id, level:_judge_result[0].level||8//8爲等級權限 }
const isSignin =(req,res)=>{ if(req.session.userInfo){ res.render('user',{ code:200, data:JSON.stringify({ msg:"用戶已經登陸了" }) }) }else{ res.render('user',{ code:403, data:JSON.stringify({ msg:"用戶未登陸,請從新登陸" }) }) } }
總結:後端存儲驗證信息的方式,若是用戶過大,須要作負載均衡,還容易受到攻擊,如:網站釣魚。若是你有什麼看法,歡迎留言。