cari

Rumah  >  Soal Jawab  >  teks badan

node.js - Express-session melaksanakan isu kuki dalam pengesahan log masuk

Situasi semasa ialah terdapat kuki di sebelah penyemak imbas, namanya config.session.key('blog saya'), tetapi nilainya tidak akan berubah tanpa mengira sama ada anda log masuk atau tidak, dan jika anda sedang log masuk, tutup penyemak imbas dan cuba lagi Apabila anda membuka halaman, anda masih akan berada dalam keadaan "log masuk" Bagaimana cara ini dilaksanakan? ke pelayan Selepas pengesahan, pelayan kembali log masuk. Sila dalao jelaskan
index.js

app.use(session({
    name:config.session.key,//设置cookie中保存session id的字段名称
    secret:config.session.secret,//通过设置 secret 来计算 hash 值并放在 cookie 中,使产生的 signedCookie 防篡改
    resave:false,//
    saveUninitialized:false,//设置为 false,强制创建一个 session,即使用户未登录
    cookie:{
        maxAge:config.session.maxAge,//过期时间
    },
    store:new MongoStore({//将session存储到mongodb
        url:config.mongodb//mongodb地址
    })
}));

log masuk pengguna signin.js

router.post('/', checkNotLogin, function(req, res, next) {
  var name = req.fields.name,
        password = req.fields.password;
  UserModel.getUserByName(name)
      .then(function(user){
          if(!user){
              req.flash('error','用户不存在');
              return res.redirect('back'); 
          }
          // 密码是否匹配
          if(sha1(password)!==user.password){
              req.flash('error','密码错误');
              return res.redirect('back')
          }
          req.flash('success','登录成功');
          delete user.password;
          req.session.user = user;
          res.redirect('/posts'); 
      })
      .catch(next);
});

仅有的幸福仅有的幸福2788 hari yang lalu905

membalas semua(1)saya akan balas

  • 滿天的星座

    滿天的星座2017-05-02 09:28:17

    Nilai kuki tidak diubah req.session disimpan di bahagian pelayan.

    balas
    0
  • Batalbalas