2017-04-10 3 views
0

내 게시물 기능에서 사용자 이름과 비밀번호가 올 때마다 내 세션 변수를 true로 설정합니다.하지만 내 세션에서 내 세션을 검색 할 수없는 경우. 내가 콘솔 할 때, 그것은 정의되지 않는다.설정 후 세션 변수를 가져올 수 없습니다.

var session = require('express-session') 
var userSchema = new Schema({ 
    name: String, 
    age: Number, 
    gender: String, 
}); 
var users = mongoose.model('users', userSchema) 
/* GET home page. */ 
router.post('/login', function(req, res, next) { 
var username = req.body.username; 
var password = req.body.password; 
if(username == "tina" && password == "123456") 
{ 
req.session.login = true; 
console.log("session1:" + req.session.login); 
setTimeout(function(){ res.redirect("/responses"); }, 3000); 
} 
else{ 
res.redirect("/loginerror"); 
} 

}); 


router.get('/responses', function(req, res, next) { 
//if(req.session.login==true){ 
console.log("session2:" + req.session.login); 
users.find({}, function(err,users) { 
    if (err) { 
    console.log(err); 
    throw err; 
} 
else{ 
console.log("session3:" + req.session.login); 
if(req.session.login){ 
console.log("111"); 
    res.render('responses', { title: 'responses',users:users }); 
} 
else{ 
res.redirect("/loginerror"); 
} 
    } 
}) 
//} 


}); 

router.get('/loginerror', function(req, res, next) { 
    res.render('loginerror', { title: 'loginerror' }); 

}); 

router.get('/', function(req, res, next) { 
    res.render('index', { title: '',users:users }); 

}); 

module.exports = router; 
+3

이 코드를하시기 바랍니다 게시하여 app.js/server.js에서 위의 작업을 수행합니다. – Pengyy

+0

@Pengyy 코드를 게시했습니다. – dpatnaik

답변

1

특급 세션을 올바르게 설정하지 않았습니다. 아래 줄만 사용하면 충분하지 않습니다.

var session = require('express-session'); 

이 세션을 사용하려면 빠른 앱을 만들어야합니다.

var session = require('express-session') 

app.use(session({ 
    secret: 'keyboard cat', 
    resave: false, 
    saveUninitialized: true, 
    cookie: { secure: true } 
})) 

관련 문제