ログイン権限検証セッション

1262 ワード

げんり
ログインに成功したら、ファイル/データベース種にログイン情報を保存し、作成時間と有効期限を保存し、次回の検証時に取り出して検証します.
express-sessionミドルウェアを使用してsessionの操作を行う
express-sessionのインストール
npm install express-session

expess-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:"     ,     "
            })
        })
    }
}

まとめ:バックエンドに検証情報を格納する方法は、ユーザーが大きすぎると、負荷のバランスが必要になり、攻撃を受けやすくなります.例えば、ウェブサイトの釣りなどです.もし何か見解があれば、伝言を歓迎します.