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