Skip to content

Commit 228cd18

Browse files
author
Unknown
committed
fixed login
1 parent a0b3819 commit 228cd18

File tree

10 files changed

+107
-13
lines changed

10 files changed

+107
-13
lines changed

Diff for: app.js

+21
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,19 @@ var favicon = require('serve-favicon');
44
var logger = require('morgan');
55
var cookieParser = require('cookie-parser');
66
var bodyParser = require('body-parser');
7+
var session = require('express-session');
78

89
var index = require('./routes/index');
10+
var login = require('./routes/login');
11+
var home = require('./routes/home');
912

1013
var app = express();
14+
app.use(session({
15+
key: 'HaywirePwnsStuff!',
16+
secret: 'YouSureFam?',
17+
resave: false,
18+
saveUninitialized: false
19+
}));
1120

1221
// view engine setup
1322
app.set('views', path.join(__dirname, 'views'));
@@ -24,6 +33,18 @@ app.use(cookieParser());
2433
app.use(express.static(path.join(__dirname, 'public')));
2534

2635
app.use('/', index);
36+
app.use('/login', login);
37+
38+
//SECURE
39+
app.use((req, res, next) => {
40+
if (!req.session.user) return res.redirect('/?error=notloggedin');
41+
42+
return Promise.all([
43+
res.locals.user = req.session.user
44+
]).then(() => next()).catch(e => next(e));
45+
});
46+
47+
app.use('/home', home);
2748

2849
// catch 404 and forward to error handler
2950
app.use(function(req, res, next) {

Diff for: bin/www

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ var http = require('http');
1212
* Get port from environment and store in Express.
1313
*/
1414

15-
var port = normalizePort(process.env.PORT || '3000');
15+
var port = normalizePort(process.env.PORT || '80');
1616
app.set('port', port);
1717

1818
/**

Diff for: package-lock.json

+41
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: package.json

+1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
"cookie-parser": "~1.4.3",
1111
"debug": "~2.6.9",
1212
"express": "~4.15.5",
13+
"express-session": "^1.15.6",
1314
"morgan": "~1.9.0",
1415
"npm": "^5.8.0",
1516
"pug": "2.0.0-beta11",

Diff for: routes/home.js

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
var express = require('express');
2+
var router = express.Router();
3+
4+
router.get('/', function(req, res, next) {
5+
res.render('home/index', {
6+
title: 'Home'
7+
});
8+
});
9+
10+
module.exports = router;

Diff for: routes/index.js

+8-3
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,14 @@ var router = express.Router();
33

44
/* GET home page. */
55
router.get('/', function(req, res, next) {
6-
res.render('index', {
7-
title: 'TP-LINK'
8-
});
6+
if (!req.session.user) {
7+
res.render('index', {
8+
title: 'TP-LINK'
9+
});
10+
} else {
11+
res.redirect('/home');
12+
}
13+
914
});
1015

1116
module.exports = router;

Diff for: routes/login.js

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
var express = require('express');
2+
var router = express.Router();
3+
4+
router.post('/', function(req, res, next) {
5+
if (!req.body.username || !req.body.password) {
6+
return res.redirect('/?error=nousernameorpassword');
7+
}
8+
if ((req.body.username == "admin") && (req.body.password = "admin")) {
9+
var user = "admin";
10+
req.session.user = user;
11+
res.locals.user = user;
12+
return res.redirect('/?success');
13+
} else {
14+
return res.redirect('/?error=invalidcredentials');
15+
}
16+
});
17+
18+
module.exports = router;

Diff for: views/home/index.pug

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
extends ../template/layout
2+
3+
block content
4+
p hi

Diff for: views/index.pug

+2-2
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,10 @@ block content
2727
.picDiv(align='center')
2828
ul
2929
li#unLi.unLi
30-
input#userName.text(maxlength='15', type='text', placeholder='username')
30+
input#username.text(maxlength='15', type='text', placeholder='username', name='username')
3131
li.blank
3232
li#pwLi.pwLi
33-
input#pcPassword.text(maxlength='15', type='password', placeholder='********')
33+
input#password.text(maxlength='15', type='password', placeholder='********', name='password')
3434
input(type='submit',value='')
3535
div
3636
label#copyright Copyright © 2015 TP-LINK Technologies Co., Ltd. All rights reserved.

Diff for: views/template/includes/nav.pug

+1-7
Original file line numberDiff line numberDiff line change
@@ -1,7 +1 @@
1-
nav.navbar.navbar-light.bg-light
2-
.navheader
3-
img(src="/assets/haywire.jpg", alt="Haywire's profile picture")
4-
a.navbar-brand(href="/") Haywirehax
5-
a(href="/about") About me
6-
a   site is still under construction
7-
input.right(type="search", placeholder="Search...")
1+

0 commit comments

Comments
 (0)