提交表单后,页面无反应。请问问题在哪里,谢谢。
var express = require('express')
, app = express()
, server = require("http").createServer(app)
, io = require("socket.io")(server)
, session = require('express-session')
, FileStore = require('session-file-store')(session)
, passport = require('passport')
, LocalStrategy = require('passport-local').Strategy
, records = [
{ id: 1, username: 'jack', password: 'secret', name: 'Jack'}
, { id: 2, username: 'jill', password: 'birthday', name: 'Jill'}
];
var options = {
name: 'express.sid',
store: new FileStore,
secret: "my-secret",
resave: true,
saveUninitialized: true
};
passport.use(new LocalStrategy(
function(username, password, cb) {
console.log("username="+username+" password="+password);
findByUsername(username, function(err, user) {
if (err) { console.log("err"); return cb(err); }
if (!user) { console.log("user not found"); return cb(null, false); }
if (user.password != password) { console.log("password not match"); return cb(null, false); }
console.log("login success");
return cb(null, user);
});
}
));
passport.serializeUser(function(user, cb) {
console.log("serializeUser="+JSON.stringify(user));
cb(null, user.id);
});
passport.deserializeUser(function(id, cb) {
console.log("deserializeUser="+id);
findById(id, function (err, user) {
if (err) { return cb(err); }
cb(null, user);
});
});
app.use(require('cookie-parser')())
.use(require('body-parser').json())
.use(require('body-parser').urlencoded({ extended: true }))
.use(session(options))
.use(passport.initialize())
.use(passport.session())
.use('/js', express.static(__dirname + '/js'))
.use('/css', express.static(__dirname + '/css'))
.use('/fonts', express.static(__dirname + '/fonts'))
io.on("connection", function(socket) {
console.log("new client id="+socket.id);
socket.on('request_fullname', function() {
console.log("request_fullname");
socket.emit('respond_fullname', 'Jack');
});
});
app.get('/', function(req, res) {
res.sendFile(__dirname + '/index.html');
}).post('/login', function(req, res) {
console.log('/login');
passport.authenticate('local', {successRedirect: '/home', failureRedirect: '/'})
}).get('/home', function(req, res) {
res.sendFile(__dirname + '/home.html');
}).get('/logout', function(req, res) {
req.session.destroy(function(err) {
if(err) {
console.error(err);
}
else {
res.clearCookie(options.name);
res.redirect('/');
}
});
});
server.listen(3000);
function findByUsername(username, cb)
{
for (var i = 0, len = records.length; i < len; i++) {
var record = records[i];
if (record.username === username) {
return cb(null, record);
}
}
return cb(null, null);
}
function findById(id, cb)
{
var idx = id - 1;
if (records[idx]) {
cb(null, records[idx]);
} else {
cb(new Error('User ' + id + ' does not exist'));
}
}
--
FROM 219.75.95.*