recherche

Maison  >  Questions et réponses  >  le corps du texte

node.js - Express-session implémente les problèmes de cookies lors de la vérification de connexion

La situation actuelle est qu'il y a un cookie côté navigateur, le nom est config.session.key('myblog'), mais sa valeur ne changera jamais, que vous soyez connecté ou non, et si vous êtes connecté, fermez le navigateur et réessayez. Lorsque vous ouvrirez la page, vous serez toujours dans l'état "Connexion". Comment est-ce mis en œuvre ? Le mécanisme de vérification que je comprends personnellement devrait consister à modifier la valeur du cookie et à l'envoyer. au serveur. Après confirmation, le serveur revient connecté. Veuillez dalao clarifier
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地址
    })
}));

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

仅有的幸福仅有的幸福2787 Il y a quelques jours901

répondre à tous(1)je répondrai

  • 滿天的星座

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

    La valeur du cookie n'est pas modifiée. req.session est stockée côté serveur.

    répondre
    0
  • Annulerrépondre