20 October 2019

NodeJS ExpressJS: MD5 password [EX-16]


/controller/user.controller.js
2018
const db = require('../db/index').lowDB;
const ids = require('short-id');
const md5 = require('md5');

module.exports.index = function (req, res) {
    res.render('users/index', {
        users: db.get('users').value()
    })
}

module.exports.create = function (req, res) {
    res.render('users/create')
}

module.exports.postCreate = function (req, res) {
    // Add a post
    req.body.id = ids.generate();
    req.body.password = md5(req.body.password);
    db.get('users').push(req.body).write()
    res.redirect('/users');
}

module.exports.get = function (req, res) {
    var id = req.params.id;
    res.render('users/view', {
        user: db.get('users').find({
            id: id
        }).value()
    })
}

module.exports.search = function (req, res) {
    var q = req.query.name;
    var matchUsers = db.get('users').value().filter(f => f.name.toLocaleLowerCase().indexOf(q.toLocaleLowerCase()) !== -1);
    res.render('users/index', {
        users: matchUsers
    })
}

/controller/auth.controller.js
2018
const db = require('../db/index').lowDB;
const md5 = require('md5');

module.exports.login = function (req, res, next) {
    res.render('auth/login');
}

module.exports.postLogin = function (req, res, next) {
    const email = req.body.email;
    const password = req.body.password;

    const user = db.get('users').find({
        email: email
    }).value();

    if (!user) {
        res.render('auth/login', {
            errors: ['User does not exits'],
            values: res.body
        });
    }
    console.log(md5(password));
    if (md5(password) != user.password) {
        res.render('auth/login', {
            errors: ['Wrong password'],
            values: res.body
        });
    }
    res.cookie('userId', user.id);
    res.redirect('/users');
}

module.exports.postLogout = function (req, res, next) {
    res.clearCookie("userId");
    res.redirect('/');
}

Related Posts:

  • NodeJS ExpressJS: View [EX-07] View Cài đặt module render id tự động https://www.npmjs.com/package/short-id npm i short-id --save /app.js app.js const express = require('express') const app = express() const port = 3000 // lowdb module const … Read More
  • NodeJS ExpressJS: Query parameters [EX-03] Query parameters  Query parameters app.js const express = require('express') const app = express() const port = 3000 app.set('view engine', 'pug') app.set('views', './views'); var users = [{ id: 'ID291', … Read More
  • NodeJS ExpressJS: Database (Lowdb) [EX-06] Lowdb Cài đặt module npm install lowdb --save Refer: https://github.com/typicode/lowdb /app.js app.js const express = require('express') const app = express() const port = 3000 // lowdb module const low = requir… Read More
  • NodeJS ExpressJS: Nodemon [EX-05] Nodemon Tự động load project https://github.com/remy/nodemon/ Cách 1: Cài đặt trên toàn hệ thống npm install -g nodemon Cách 2: Cài đặt trên môi trường devDependencies npm install --save-dev nodemon <<… Read More
  • NodeJS ExpressJS: Post method [EX-04] Post method views/users/create.pug create.pug h1 Create user form(action="/users/create", method="POST") label Name input(name="name", type="text") button create views/users/index.pug index.pug h1… Read More

0 nhận xét:

Post a Comment

 

BACK TO TOP

Xuống cuối trang