How to restrict user going back to home page after logout, by clicking back button in browser

Viewed 18

I am building a simple login page and home page application. I want to restrict user from going to home page after logging out. Please help

app.js


const express = require('express')
const bodyParser = require('body-parser')
const session = require('express-session')

const path = require('path')

const loginRoutes = require('./routes/loginRoutes')
const homeRoutes = require('./routes/homeRoutes')

const app = express();

app.use(session({
    secret:"key",
    resave:false,
    saveUninitialized:false

}))


app.set("view engine", "ejs");
app.set("views", "views");

app.use(bodyParser.urlencoded({ extended: false }));
app.use(express.static(path.join(__dirname, "public")));

app.use('/' , loginRoutes)
app.use('/home' , homeRoutes)


app.listen(3000)


loginRoutes.js#

const express = require('express');



const router = express.Router();


router.get('/' , (req, res) => {
    req.session.destroy();
    res.render('login', {pageTitle: 'Login', invalidCredentials: true});
})

router.post('/' , (req, res) => {
    res.clearCookie()
    req.session.destroy();
    res.render('login', {pageTitle: 'Login', invalidCredentials: true});
})


module.exports = router



homeRoutes.js

const express = require('express')
const bodyParser = require('body-parser')


const app = express();


app.use(bodyParser.urlencoded({ extended: false }));


const credentials = require('../credentials');
const session = require('express-session');


const router = express.Router();


router.get('/' , (req, res) => {
    res.render('login', {pageTitle: 'Login', invalidCredentials: true});
})

router.post('/' , (req, res) => {
    if(credentials.user === req.body.name && credentials.password === req.body.password){
        req.session.user = req.body.name
        res.render('home' , {name: req.session.user, pageTitle: 'Home'});
    }
    else{
        res.render('login', {pageTitle: 'Login' , invalidCredentials: false});
    }
})


module.exports = router

I am expecting some way to redirect the user to login page if the user tries to press back button in browser to go back to home page after logout.

0 Answers
Related