Maison >interface Web >js tutoriel >Un exemple explique la méthode d'obtention des valeurs get et post et la vérification de session en express dans nodejs

Un exemple explique la méthode d'obtention des valeurs get et post et la vérification de session en express dans nodejs

小云云
小云云original
2017-12-23 09:08:393047parcourir

Cet article continue d'approfondir l'utilisation d'express dans node.js. Il présente principalement la méthode de nodejs utilisant express pour obtenir les valeurs get et post et la vérification de session. valeurs​​et vérification de session basée sur un exemple. Les amis qui en ont besoin peuvent se référer aux étapes de fonctionnement spécifiques et aux précautions de la fonction. J'espère que cela pourra aider tout le monde.

Récupérer les valeurs transmises par get et post

La valeur transmise par get est mise dans un objet


req.query

La valeur transmise du message est mise dans


req.body

La méthode d'acquisition est la même que la méthode d'obtention du contenu de l'objet. Par exemple, si la valeur d'un identifiant est transmise plus tôt, nodejs peut l'obtenir par req.body.id

vérification de session express

La première étape consiste à installer les modules cookie et session et à introduire


var session = require('express-session');
var cookieParser = require('cookie-parser');

La deuxième étape consiste à utiliser express pour appliquer les cookies et la session


app.use(cookieParser());
app.use(session({
  resave: true, // don't save session if unmodified
  saveUninitialized: false, // don't create session until something stored
  secret: 'admin', //密钥
  name: 'testapp', //这里的name值得是cookie的name,默认cookie的name是:connect.sid
  cookie: {
    maxAge: 80000
  } //设置maxAge是80000ms,即80s后session和相应的cookie失效过期
}));

La troisième étape, lors de la demande, de l'interception et du traitement


app.use(function(req, res, next) {
  if (!req.session.user) {
    if (req.url == "/login") {
      next(); //如果请求的地址是登录则通过,进行下一个请求
    } else {
      res.redirect('/login');//跳转到登录页面
    }
  } else if (req.session.user) {
    next();//如果已经登录,则可以进入
  }
});

Si vous n'êtes pas connecté lors de l'accès à la page maintenant, la route sera automatiquement dirigée vers la page /login, la dernière étape consiste à la traiter dans le routage

app.get('/login', function(req, res) {
  res.render("login");
});
app.post('/login', function(req, res) {
  if (req.body) {//判断时候有传值
    var user = {
      'username': req.body.username//获取用户名并赋值,这里之前可以自己做判断
    };
    req.session.user = user;//赋值session,自动跳转页面
    res.redirect('/admin');
  } else {
    res.redirect('/login');
  }
});
app.get('/logout', function(req, res) {//做的登出页面
  req.session.user = null;
  res.redirect('/login');
});

Recommandations associées :
Explication détaillée de node.js à l'aide de websocket basé sur express

Explication détaillée de Node.js utilise Express.Router

Historique de développement Express

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn