added flash messages to login route

This commit is contained in:
Sahat Yalkabov
2013-11-18 14:37:01 -05:00
parent 8322b40095
commit bdfec9f914
3 changed files with 8 additions and 4 deletions

2
app.js
View File

@ -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);

View File

@ -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) {

View File

@ -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) {