0
你好那里首先让我告诉我是新的节点js,我试图做一个登录表单使用mongodb和passport.I有两个模块在它server.js和auth .js文件,我的问题是,我想从我的蒙戈服务器访问值,并检查用户名和密码是否正确可以有人请帮我出无法访问mongo db值
auth.js
var passport = require('passport'),
LocalStrategy = require('passport-local').Strategy;
var mongodb = require('mongodb');
var mongoose = require('mongoose');
Schema = mongoose.Schema;
var MongoClient = mongodb.MongoClient;
mongoose.connect('mongodb://localhost/user');
var user = mongoose.model('val', Schema);
passport.use(new LocalStrategy(
user.find({},function(username,password,done){
if(username === firstName && password === password12) {
return done(null,{username: 'admin'});
}
else{
}
return done(null,false);
})
));
passport.serializeUser(function(user,done) {
done(null,user.firstName);
});
passport.deserializeUser(function(username,done) {
done(null,{username: firstName});
});
module.exports = passport;
server.js
var express = require('express');
var bodyParser = require('body-parser');
var functions = require('functions');
var path = require('path');
var passport = require('./auth.js');
var flash = require('connect-flash');
var mongodb = require('mongodb');
var mongoose = require('mongoose');
var app = express();
var MongoClient = mongodb.MongoClient;
app.use(flash());
app.use(bodyParser.json());
app.use(express.static(path.join(__dirname, 'public')));
app.use(bodyParser.urlencoded({
extended: false
}));
app.set('view engine', 'ejs');
app.use(passport.initialize());
app.use(passport.session());
mongoose.connect('mongodb://localhost/user');
var Schema = new mongoose.Schema({
firstName: String,
lastName: String,
email: String,
password12: String,
})
var user = mongoose.model('val', Schema);
app.get('/signup', function (req, res) {
res.render('signup', {
firstName: "factWeavers"
});
});
app.post('/signup', function (req, res) {
new user({
firstName: req.body.username,
lastName: req.body.lastName,
email: req.body.email,
password12: req.body.password12,
}).save(function (err, doc) {
if (err) res.json(err);
else console.log("information passed successfully");
res.redirect('/login');
});
});
app.get('/login', function (req, res) {
res.render('login');
});
app.post('/login', passport.authenticate('local', {
failureRedirect: '/signup',
successRedirect: '/access'
}));
functions.login = function(req, res) {
res.render('login',{title:hey})
}
app.get('/access', function (req, res) {
res.render('access');
});
functions.access = function(req, res) {
if (req.session.passport.user === undefined) {
res.redirect('/login');
} else {
res.render('user')
}
};
var server = app.listen('8090', function() {
console.log("Server running at localhost:8090");
});
这就是我所做的,并提前感谢