1

Cookieを設定してアクセスしています。console.log を実行しても何も表示されません。しかし、ブラウザでクッキーを見ると、その値を見ることができました。Cookie が 1 かどうかを確認したいのですが、それが 1 である場合は続行し、それ以外の場合は削除します。しかし、この値へのアクセスに問題があります。

2) app.use(express.cookieParser('keyboard cat')); よりも、実際に値を直接設定しているように見えます。ここで役に立ちます。問題は、私がこの app.use を持っていない場合、秘密を見つけることができないということです。

エクスプレス URL の Cookie に関するポインタが不足していることを教えていただければ幸いです。

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);
}); 

私が探しているのは、ユーザーが正しいユーザー名とパスワードを指定したかどうかだけです。私は彼に Cookie を割り当てます。それが行われ、その後のリクエストでユーザーが同じ Cookie を使用する場合。また、この Cookie をローカル メモリに保存する方法も検討しています。

4

1 に答える 1

0

このスニペットは、Cookie ベースのセッションを使用する方法を示しています !!

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');
}
于 2013-02-07T12:39:42.253 に答える