added flash messages to login route
This commit is contained in:
2
app.js
2
app.js
@ -2,6 +2,7 @@ var express = require('express'),
|
|||||||
http = require('http'),
|
http = require('http'),
|
||||||
path = require('path'),
|
path = require('path'),
|
||||||
fs = require('fs'),
|
fs = require('fs'),
|
||||||
|
flash = require('connect-flash'),
|
||||||
mongoose = require('mongoose'),
|
mongoose = require('mongoose'),
|
||||||
passport = require('passport');
|
passport = require('passport');
|
||||||
|
|
||||||
@ -32,6 +33,7 @@ app.use(express.methodOverride());
|
|||||||
app.use(express.session({ secret: 'Bob-Alice' }));
|
app.use(express.session({ secret: 'Bob-Alice' }));
|
||||||
app.use(passport.initialize());
|
app.use(passport.initialize());
|
||||||
app.use(passport.session());
|
app.use(passport.session());
|
||||||
|
app.use(flash());
|
||||||
app.use(express.static(path.join(__dirname, 'public')));
|
app.use(express.static(path.join(__dirname, 'public')));
|
||||||
app.use(app.router);
|
app.use(app.router);
|
||||||
|
|
||||||
|
@ -56,7 +56,7 @@ exports.postlogin = function(req, res, next) {
|
|||||||
passport.authenticate('local', function(err, user, info) {
|
passport.authenticate('local', function(err, user, info) {
|
||||||
if (err) return next(err);
|
if (err) return next(err);
|
||||||
if (!user) {
|
if (!user) {
|
||||||
req.session.messages = [info.message];
|
req.flash('messages', [info.message]);
|
||||||
return res.redirect('/login');
|
return res.redirect('/login');
|
||||||
}
|
}
|
||||||
req.logIn(user, function(err) {
|
req.logIn(user, function(err) {
|
||||||
|
@ -3,18 +3,20 @@ var mongoose = require('mongoose'),
|
|||||||
|
|
||||||
|
|
||||||
var userSchema = new mongoose.Schema({
|
var userSchema = new mongoose.Schema({
|
||||||
username: { type: String, required: true, unique: true },
|
firstName: { type: String, required: true},
|
||||||
|
lastName: { type: String, required: true},
|
||||||
email: { type: String, required: true, unique: true },
|
email: { type: String, required: true, unique: true },
|
||||||
password: { type: String, required: true},
|
password: { type: String, required: true},
|
||||||
admin: { type: Boolean, required: true }
|
admin: { type: Boolean, default: false }
|
||||||
});
|
});
|
||||||
|
|
||||||
userSchema.pre('save', function(next) {
|
userSchema.pre('save', function(next) {
|
||||||
var user = this;
|
var user = this;
|
||||||
|
var SALT_FACTOR = 5;
|
||||||
|
|
||||||
if (!user.isModified('password')) return next();
|
if (!user.isModified('password')) return next();
|
||||||
|
|
||||||
bcrypt.genSalt(32, function(err, salt) {
|
bcrypt.genSalt(SALT_FACTOR, function(err, salt) {
|
||||||
if (err) return next(err);
|
if (err) return next(err);
|
||||||
|
|
||||||
bcrypt.hash(user.password, salt, function(err, hash) {
|
bcrypt.hash(user.password, salt, function(err, hash) {
|
||||||
|
Reference in New Issue
Block a user