node.js - Express-session melaksanakan isu kuki dalam pengesahan log masuk
仅有的幸福
仅有的幸福 2017-05-02 09:26:17
0
1
894

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);
});

仅有的幸福
仅有的幸福

membalas semua(1)
滿天的星座

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

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan