Guest User

Untitled

a guest
Mar 21st, 2018
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.35 KB | None | 0 0
  1. import debug = require('debug');
  2. import express = require('express');
  3. import path = require('path');
  4. import db = require('diskdb');
  5. import bodyParser = require('body-parser');
  6. import session = require('express-session');
  7. import fileStore = require('session-file-store');
  8.  
  9.  
  10. import routes from './routes/index/index';
  11. import users from './routes/user';
  12. import register from './routes/users/register';
  13. import login from './routes/users/login';
  14.  
  15. var app = express();
  16.  
  17. //Setup sesssion middleware
  18. var sessionFileStore = fileStore(session);
  19. app.use(session({
  20. name: 'server-session-cookie-id',
  21. secret: 'my express secret',
  22. saveUninitialized: true,
  23. resave: true,
  24. store: new sessionFileStore()
  25. }));
  26.  
  27. //Here we are configuring express to use body-parser as middle-ware.
  28. app.use(bodyParser.urlencoded({ extended: false }));
  29. app.use(bodyParser.json());
  30.  
  31. // view engine setup
  32. app.set('views', path.join(__dirname, 'views'));
  33. app.set('view engine', 'pug');
  34.  
  35. app.use(express.static(path.join(__dirname, 'public')));
  36.  
  37. app.use('/', routes);
  38. app.use('/users', users);
  39. app.use('/register', session, register);
  40. app.use('/login', session, login);
  41.  
  42. // catch 404 and forward to error handler
  43. app.use(function (req, res, next) {
  44. var err = new Error('Not Found');
  45. err['status'] = 404;
  46. next(err);
  47. });
  48.  
  49. // error handlers
  50.  
  51. // development error handler
  52. // will print stacktrace
  53. if (app.get('env') === 'development') {
  54. app.use((err: any, req, res, next) => {
  55. res.status(err['status'] || 500);
  56. res.render('error', {
  57. message: err.message,
  58. error: err
  59. });
  60. });
  61. }
  62.  
  63. // production error handler
  64. // no stacktraces leaked to user
  65. app.use((err: any, req, res, next) => {
  66. res.status(err.status || 500);
  67. res.render('error', {
  68. message: err.message,
  69. error: {}
  70. });
  71. });
  72.  
  73. app.set('port', process.env.PORT || 3000);
  74.  
  75. var server = app.listen(app.get('port'), function () {
  76. debug('Express server listening on port ' + server.address().port);
  77. });
  78.  
  79. import express = require('express');
  80. import path = require('path');
  81. import bcrypt = require('bcrypt');
  82.  
  83. const router = express.Router();
  84.  
  85. router.get('/', (req: express.Request, res: express.Response) => {
  86. res.render(path.join(__dirname, 'login'), { message: 'display login form', username: '' });
  87. });
  88.  
  89. router.post('/', (req: express.Request, res: express.Response) => {
  90. var un = req.body.username;
  91. var pw = req.body.password;
  92.  
  93. var db = require('diskdb');
  94. db = db.connect('db', ['users']);
  95.  
  96. var existing = db.users.findOne({ username: un });
  97. var all = db.users.find();
  98.  
  99. bcrypt.compare(pw, existing != null ? existing.password : '', function (err, hashres) {
  100. // res == true
  101. if (hashres) {
  102. res.render(path.join(__dirname, 'login'), {
  103. message: ('handle login form submission for ' + un),
  104. username: un,
  105. result: "the username " + un + " is now logged in.",
  106. resulttype: "success"
  107. });
  108. req.session.user = un;
  109. }
  110. else {
  111. res.render(path.join(__dirname, 'login'), {
  112. message: ('handle login form submission for ' + un),
  113. username: un,
  114. result: "the username and password combination is incorrect.",
  115. resulttype: "error"
  116. });
  117. }
  118. });
  119. });
  120.  
  121. export default router;
Add Comment
Please, Sign In to add comment