2012-12-25 4 views
1

쿠키를 설정하고 액세스하고 있습니다. console.log에 아무 것도 표시되지 않습니다. 브라우저에서 쿠키를 볼 때 그 값을 볼 수있었습니다. 쿠키가 1 인 지 확인하고 싶다면 다른 쿠키를 계속 삭제하십시오. 하지만이 값에 액세스하는 데 문제가 있습니다.세션에서 쿠키를 설정하십시오.

2) 실제로 직접 값을 설정하는 것 같습니다. app.use (express.cookieParser ('keyboard cat')); 여기에서 유용합니다. 문제는 내가이 app.use를 갖고 있지 않으면 비밀을 찾을 수 없다는 것입니다.

내가 표현 URL에있는 쿠키에 대한 정보가 누락되었음을 알려 주시면 좋을 것입니다.

app.post('/login', function(req, res){ 

console.log(req.cookies.rememberme); 
console.log(req.session.user); 
if (req.session.user) { 
    req.session.user=req.body.username; 
    ss=req.session.user; 
    res.cookie('rememberme', '1', { maxAge: 2000, httpOnly: true }); 
    } else { 
    req.session.user="test"; 
    ss=req.session.user; 
    } 
res.send('viewed times\n'+ss); 
}); 

사용자가 올바른 사용자 이름과 암호를 부여한 경우 쿠키가 할당됩니다. 그것이 완료되면 후속 요청에서 사용자는 동일한 쿠키를 사용합니다. 이 쿠키를 어떻게 로컬 메모리에 저장할 수 있는지도보고 있습니다.

답변

0

이 스 니펫은 쿠키 기반 세션을 사용하는 방법을 보여줍니다 !!

var express = require('express') 
    , app = module.exports = express() 
    , utils = require("util"); 

app.use(express.cookieParser('hello !!')); 
app.use(express.cookieSession({key:"remember", secret: 'testing', cookie: { maxAge: 5000}})); 
app.use(express.bodyParser()); 

app.get('/', function(req, res, next){ 

    if(req.session.user) { 
    res.send('welcome ' + req.session.user + ' Click to <a href="/forget">forget</a>!.'); 
    } else { 
     res.send('<form method="post">' 
     + '<p>Username : <label><input type="texst" name="user"/></label>' 
     + '<p><label><input type="checkbox" name="remember"/> remember me</label></p> ' 
     + '<p><input type="submit" value="Submit"/>.</p></form>'); 
    } 

}); 

app.get('/forget', function(req, res){ 
    res.clearCookie("remember"); 
    res.redirect('back'); 
}); 

app.post('/', function(req, res){ 

    if (req.body.remember) { 
    req.session.user = req.body.user; 
    console.log ("set-cookie :" , res.get("Set-Cookie"));  
    }  
    res.redirect('back'); 
}); 

if (!module.parent){ 
    app.listen(3000); 
    console.log('Express started on port 3000'); 
} 
관련 문제