Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var express = require('express');
- var bodyParser = require("body-parser");
- var mysql = require('mysql');
- var path = require('path');
- var cookieParser = require('cookie-parser');
- var bodyParser = require('body-parser');
- var expressValidator = require('express-validator');
- var flash = require('connect-flash');
- var session = require('express-session');
- var passport = require('passport');
- var LocalStrategy = require('passport-local').Strategy;
- var mongo = require('mongodb');
- var mongoose = require('mongoose');
- mongoose.connect('mongodb://localhost/WelcomeLimoUsa');
- var db = mongoose.connection;
- var routes = require('./routes/index');
- var users = require('./routes/users');
- // Init App
- var app = express();
- // BodyParser Middleware
- app.use(bodyParser.json());
- app.use(bodyParser.urlencoded({ extended: false }));
- app.use(cookieParser());
- // Set Static Folder
- app.use(express.static(__dirname + '/'));
- // Express Session
- app.use(session({
- secret: 'secret',
- saveUninitialized: true,
- resave: true
- }));
- // Passport init
- app.use(passport.initialize());
- app.use(passport.session());
- // Express Validator
- app.use(expressValidator({
- errorFormatter: function(param, msg, value) {
- var namespace = param.split('.')
- , root = namespace.shift()
- , formParam = root;
- while(namespace.length) {
- formParam += '[' + namespace.shift() + ']';
- }
- return {
- param : formParam,
- msg : msg,
- value : value
- };
- }
- }));
- // Connect Flash
- app.use(flash());
- // Global Variables
- app.use(function (req, res, next) {
- res.locals.success_msg = req.flash('success_msg');
- res.locals.error_msg = req.flash('error_msg');
- res.locals.error = req.flash('error');
- res.locals.user = req.user || null;
- next();
- });
- app.use('/admin', routes);
- app.use('/users', users);
- <form action="/users/admin" method="post" class="well form-horizontal">
- <p>
- <strong>Admin User Name: </strong>
- <input type="text" name="username" size="25" class="form-control" placeholder="User Name">
- <p>
- <p>
- <strong align="center">Admin Password: </strong>
- <input align="center" type="password" size="15" name="password" class="form-control" placeholder="password">
- <p>
- <p>
- <input align="center" type="submit" value="Log In" class="btn btn-success" style="font-weight:600">
- <input align="center" type="reset" value="Clear" class="btn btn-default" style="font-weight:600">
- </form>
- var express = require('express');
- var passport = require('passport');
- var LocalStrategy = require('passport-local').Strategy;
- var User = require('../models/user');
- var router = express.Router();
- // Login
- router.get('/admin', function(req, res){
- res.render('./login.html');
- });
- router.get('/error', function(req, res){
- res.sendfile("./loginerror.html");
- });
- passport.use(new LocalStrategy(
- function(username, password, done) {
- User.getUserByUsername(username, function(err, user){
- if(err) throw err;
- if(!user){
- return done(null, false, {message: 'Unknown User'});
- }
- User.comparePassword(password, user.password, function(err, isMatch){
- if(err) throw err;
- if(isMatch){
- return done(null, user);
- } else {
- return done(null, false, {message: 'Invalid password'});
- }
- });
- });
- }));
- passport.serializeUser(function(user, done) {
- done(null, user.id);
- });
- passport.deserializeUser(function(id, done) {
- User.getUserById(id, function(err, user) {
- done(err, user);
- });
- });
- router.post('/admin', passport.authenticate('local', { successRedirect: '/admin',
- failureRedirect: '/users/error',
- failureFlash: true }), function(req,res){
- var user_name = req.body.userid;
- var password=req.body.password;
- console.log("User name = " + user_name + ", password is "+ password);
- res.redirect('/admin');
- });
- module.exports = router;
- var mongoose = require('mongoose');
- var bcrypt = require('bcryptjs');
- // User Schema
- var UserSchema = mongoose.Schema({
- username: {
- type: String,
- index:true
- },
- password: {
- type: String
- }
- });
- var User = module.exports = mongoose.model('User', UserSchema);
- module.exports.getUserByUsername = function(username, callback){
- var query = {username: username};
- User.findOne(query, callback);
- }
- module.exports.getUserById = function(id, callback){
- User.findById(id, callback);
- }
- module.exports.comparePassword = function(candidatePassword, hash, callback){
- bcrypt.compare(candidatePassword, hash, function(err, isMatch) {
- if(err) throw err;
- callback(null, isMatch);
- });
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement