We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Hello, I encountered this problem as mentioned in the title. Any help is appreciated. My logging shows:
username=jack password=secret login success login serializeUser={"id":1,"username":"jack","password":"secret","name":"Jack"} username=jack password=secret login success login serializeUser={"id":1,"username":"jack","password":"secret","name":"Jack"} username=jack password=secret login success login serializeUser={"id":1,"username":"jack","password":"secret","name":"Jack"} deserializeUser=1 deserializeUser=1 deserializeUser=1 deserializeUser=1 deserializeUser=1 deserializeUser=1 deserializeUser=1 username=jack password=secret login success login serializeUser={"id":1,"username":"jack","password":"secret","name":"Jack"} deserializeUser=1 user=1 deserializeUser=1 deserializeUser=1 deserializeUser=1 deserializeUser=1 deserializeUser=1 deserializeUser=1 deserializeUser=1 deserializeUser=1 deserializeUser=1 deserializeUser=1 deserializeUser=1 deserializeUser=1 deserializeUser=1 deserializeUser=1 deserializeUser=1 deserializeUser=1 deserializeUser=1 shared session Session { cookie: { path: '/', _expires: null, originalMaxAge: null, httpOnly: true }, __lastAccess: 1478062339881, passport: { user: 1, name: 'Jack' } } deserializeUser=1
My code is:
var file_log='../log/log.txt'; var file_property='../backend/config.txt'; var default_port=2334; var log4js = require('log4js'); log4js.configure({ "appenders": [{ "type": "file", "filename": file_log, "category": "recon-frontend", "layout": { "type": "pattern", "pattern": "%d{yyyy-MM-dd hh:mm:ss.SSS} %m" } } ]}); var logger = log4js.getLogger('recon-frontend'); logger.setLevel('info'); var arg = process.argv.slice(2); if(arg.length) { arg = parseInt(arg); } else { arg = default_port; } var passport = require('passport') , LocalStrategy = require('passport-local').Strategy; var records = [ { id: 1, username: 'jack', password: 'secret', name: 'Jack'} , { id: 2, username: 'jill', password: 'birthday', name: 'Jill'} ]; 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); }); }); var PropertiesReader = require('properties-reader'); var properties = PropertiesReader(file_property); var version = properties.get("version"); var express = require('express'); var app = express(); var http = require('http').Server(app); var io = require('socket.io')(http); var session = require('express-session'); var FileStore = require('session-file-store')(session); var session_store = new FileStore(); var id_backend; var id_admin; var sessionMiddleware = session({ store : session_store, secret : 'Some Key!', resave : true, saveUninitialized: true }); app.use(require('cookie-parser')('Some Key!')); app.use(require('body-parser').urlencoded({ extended: true })); app.use(sessionMiddleware); app.use(passport.initialize()); app.use(passport.session()); app.use('/js', express.static(__dirname + '/js')); app.use('/css', express.static(__dirname + '/css')); app.use('/image', express.static(__dirname + '/image')); app.use('/fonts', express.static(__dirname + '/fonts')); app.use('/download',express.static(__dirname + '/download')); app.get('/', function(req, res){ res.sendFile(__dirname + '/index.html'); }).get('/admin', function(req, res){ res.sendFile(__dirname + '/admin.html'); }).get('/home', require('connect-ensure-login').ensureLoggedIn('/'), function(req, res){ console.log("user="+req.session.passport.user); req.session.passport.name=records[req.session.passport.user-1].name; res.sendFile(__dirname + '/home.html'); }).post('/login', function(req, res, next) { passport.authenticate('local', function(err, user, info){ if(err) {console.log("err"); return next(err);} if(!user) {console.log("no user"); return res.redirect('/');} console.log('login'); req.logIn(user, function (err, user, info) { // <-- Log user in if(err) {console.log('login err'); return next(err);} return res.redirect('/home'); }); })(req, res, next); // res.redirect('/home'); // passport.authenticate('local', {successRedirect: '/home', failureRedirect: '/'}) }).get('/logout', function(req, res){ req.session.destroy(function(err) { if(err) { logger.error(err); } else { res.clearCookie('connect.sid'); res.redirect('/'); } }); }); io.use(function(socket, next) { console.log('shared session'); sessionMiddleware(socket.request, {}, next); }); io.on('connection', function(socket){ logger.info("new client id="+socket.id); console.log(socket.request.session); }); if(!!id_backend && id_backend != socket.id) { socket.emit('backend_up'); } }); process.on('SIGINT', function() { logger.info("Recon frontend terminated."); process.exit(); }).setMaxListeners(0); http.listen(arg, function(){ logger.info("Recon frontend v"+version+" starts listening to port "+arg); }); 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')); } }
The text was updated successfully, but these errors were encountered:
No branches or pull requests
Hello, I encountered this problem as mentioned in the title. Any help is appreciated. My logging shows:
My code is:
The text was updated successfully, but these errors were encountered: