NodeJS Passport本地身份validation不起作用

我使用passportjs本地进行身份validation。 它只是redirect到failureRedirect它不显示任何错误,它总是redirect到failureRedirect与原始用户名和密码,以及重复什么是我的代码中的错误

我的passport.js文件:

const passport = require('passport'); const LocalStrategy = require('passport-local').Strategy; const bcrypt = require('bcryptjs'); const Admin = require('../models/admin/user'); const config = require('../config/database'); module.exports = function(passport){ // With local startegy passport.use(new LocalStrategy(function (userName, password, done){ // Match Username let query = {userName:userName}; Admin.findOne(query, function(err, user){ console.log(user); if(err) throw err; if(!user){ console.log('No user Found'); return done(null, false, {message: 'No User Found'}); } // Match Password bcrypt.compare(password,user.password, function(err, isMatch){ if(err) throw err; if(isMatch){ console.log('welcome to dashboard'); return done(null, user); } else { console.log('Wrong Password is inserted'); return done(null, false, {message: 'Wrong password'}); } }); }); })); passport.serializeUser(function(user, done){ done(null, user.id) }); passport.deserializeUser(function(id, done){ Admin.findById(id, function(err, user){ done(err, user); }); }); } 

index.js文件:

 const express = require("express"); const path = require('path'); const bodyParser = require('body-parser'); const cors = require('cors'); const mongoose = require('mongoose'); const exphbs = require('express-handlebars'); const expressValidator = require('express-validator'); const multer = require('multer'); const flash = require('connect-flash'); const session = require('express-session'); const passport = require('passport'); const config = require('./config/database'); const app = express(); app.use(express.static(path.join(__dirname, 'public'))); // Routes const admin = require('./routes/admins/a_users'); // ADMIN-Parts const images = require('./routes/zzzimages'); // All - Images Uploading Code // Port Number to Start const port = 1200; app.use(cors()); // Body parser Middleware app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: false })); // view engine setup app.set('views',path.join(__dirname,'views')); app.engine(".hbs", exphbs({ defaultLayout: "mainlayout", extname: ".hbs", helpers: handlebarsHelpers })); app.set("view engine", ".hbs"); // Express Session Middleware app.use(session({ secret: 'keyboard cat', resave: true, saveUninitialized: true, cookie: { secure: true } })); // Express Messages Middleware app.use(flash()); app.use(require('connect-flash')()); app.use(function (req, res, next) { res.locals.messages = require('express-messages')(req, res); next(); }); // Express Validator Middleware 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 }; } })); require('./config/passport')(passport); app.use(passport.initialize()); app.use(passport.session()); app.use('/admin',admin); app.use('/allimg',images); app.get('/admin-login', (req, res) => { res.render('admin/login'); }); 

users.js文件:

 const express = require('express'); const router = express.Router(); const bcrypt = require('bcryptjs'); const passport = require('passport'); const config = require('../../config/database'); const Admin = require('../../models/admin/a_user'); // login process router.post('/login', function(req, res, next) { passport.authenticate('local', { successRedirect:'/psc', failureRedirect:'/admin-login', failureFlash: true })(req, res, next); console.log('login is called'); }); module.exports = router; 

我试图与console.log上面给出的路由/login被称为显示login被称为消息,而不是其他