From 0df0b21ec65951d1a79054db2559759ce433951b Mon Sep 17 00:00:00 2001 From: Guillaume WANG <guillaume.wang@polytechnique.edu> Date: Fri, 9 Mar 2018 23:54:33 +0100 Subject: [PATCH] modified admin_router routing --- src/admin_view/admin_router.js | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/src/admin_view/admin_router.js b/src/admin_view/admin_router.js index 5583cfa..ad03575 100644 --- a/src/admin_view/admin_router.js +++ b/src/admin_view/admin_router.js @@ -1,7 +1,6 @@ /** * @file Ce fichier définit le routage d'URL au sein de l'interface du _backend_. - * - * Il définit la page de connexion `/`, le panneau administrateur `/admin` et l'API REST (`/db/:table?`) + * Il définit la page de connexion `/`, le panneau administrateur `/admin` et l'API REST \(`/db/:table?`) * permettant de consulter la base de donnée interne à Sigma, via des requêtes construites avec Knex. * @author manifold */ @@ -14,21 +13,24 @@ const router = express.Router(); let port = process.env.PORT || 3000; + +/** + * @description Le login se fait en POST. Faire un GET à la racine / renvoie sur + * /login ou sur /admin selon que l'utilisateur est connecté ou non. + */ + router.get('/', function (req, res) { + console.log('Redirecting to admin page...'); + res.redirect('/admin'); +}); + +router.get('/login', function (req, res) { console.log('Connecting to ' + req.url); req.flash('failureFlash', 'Invalid username or password.'); res.render('login', { title: 'Login', port: port, errorMessage: req.flash('error') }); }); -/** - * @description Le login se fait en POST. Faire un GET à /login renvoie à la racine / - */ -router.get('/login', function(req,res) { - console.log('Redirecting to home...'); - res.redirect('/'); -}); - router.get('/admin', ensureLoggedIn('/login'), function (req, res) { @@ -52,8 +54,9 @@ router.get('/admin', router.post('/login', passport.authenticate('ldapauth', { successRedirect: '/admin', - failureRedirect: '/', + failureRedirect: '/login', failureFlash: true + } // on a besoin de faire un callback apres le passport.authenticate car // on souhaite garde l'information user.dn et body.password qq part. // TODO: essayer de garder ces informations plus proprement... @@ -70,7 +73,8 @@ router.post('/login', } } */ - })); + ) +); router.post('/logout', function (req, res) { req.logout(); -- GitLab