Etape 1 mise en place de l’environnement :
- Créez le dossier tp-sessions-nodejs dans d :
- Initialisez le dossier pour nodejs
- Installez le package express
- Installez le package ejs
- Installez le package express-session
- Créez le fichier index.js
- Créez le dossier views
- Dans le dossier views créez le fichier index.ejs
- Dans le dossier views créez le fichier login.ejs
- Dans le fichier index.js créez un simple serveur express sur le 3333
- Dans le fichier index.ejs créez une simple page html hello world
- Dans le fichier login.ejs créez un formulaire html avec les champs login et password
- Dans le fichier index.js créez la route app.get / vers index.ejs
- Dans le fichier index.js créez la route app.post /login
- Exécutez nodemon index.js
- Ouvrez votre navigateur pour vérifier le fonctionnement
Etape 2 activation des sessions :
Dans le fichier index.js ajoutez avant les routes :
app.use(session({
cookieName: 'session',
secret: 'MonCodeSecretSession',
duration: 30 * 60 * 10000,
activeDuration: 5 * 60 * 10000,
httpOnly: true,
secure: true,
ephemeral: true
}));
Dans le fichier index.js ajoutez la fonction suivante :
function requireLogin(req, res, next) {
if (!req.session.user) {
res.render('login', {page: "login"});
} else {
next();
}
};
Dans le fichier index.js modifier la route app.get :
app.get(‘/’, requireLogin, function (req, res) {
res.render(‘index’, {user: req.session.user});
});
Dans le fichier index.js modifier la route app.post :
app.post('/login', function (req, res) {
var login = req.body.login.toString();
var mdp = req.body.mdp.toString();
if(login== ‘monlogin’ && mdp=’Passw0rd’){
req.session.user={login:login,mdp :mdp};
res.redirect('/');
}
else res.render('login') ;
});