Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- express = require('express');
- bodyParser = require('body-parser');
- cookieParser = require('cookie-parser');
- session = require('express-session');
- pug = require('pug');
- app = express();
- app.use(bodyParser.urlencoded({ extended: true }));
- app.set('view engine', 'pug');
- app.set('views','./');
- app.use(cookieParser());
- app.use(session({
- secret: 'random string',
- resave: true,
- saveUninitialized: true
- }));
- app.listen(8080);
- users = {ivan: '123', radka: '888', nasko:'777'};
- app.get('/login', function(req, res) {
- //pug.render(login);
- res.send(pug.render(login, {info: 'PLEASE LOGIN'}));
- });
- app.post('/login', function(req, res){
- if(users[req.body.username]==req.body.password) {
- req.session.username = req.body.username;
- req.session.count = 0;
- res.redirect("/secret");
- } else {
- res.send(pug.render(login, {warn: 'TRY AGAIN'}));
- }
- });
- app.get('/logout', (req, res) => {
- req.session.destroy();
- res.redirect("/");
- });
- app.all('*', function(req, res, next) {
- if(req.session.username) return next();
- else res.redirect("/login");
- });
- app.get('/secret', (req, res) => {
- req.session.count++;
- res.write("<html> User: " + req.session.username + " Count: " + req.session.count);
- res.write("<hr /><a href=''>reload</a> :: <a href='logout'>LOGOUT</a>");
- res.write("<hr />" + (new Date()));
- res.end();
- });
- app.all('*', function(req, res) {
- res.send("No such page! Go to: <a href='/secret'>main page</a>");
- });
- login = `
- html
- head
- link(rel="stylesheet", href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css")
- body
- if info
- h1.alert.alert-info=info
- if warn
- h1.alert.alert-warning #{warn}
- form.mx-auto.border.border-primary.w-25.p-3(method="post")
- div.form-group
- label Username:
- input.form-control(type="text" name="username" placeholder=" Enter user name ")
- div.form-group
- label Password:
- input.form-control(type="password" name="password")
- div.form-group
- input.btn.btn-primary(type="submit" value="Login")
- `;
Add Comment
Please, Sign In to add comment