Connect はノードミドルウェアフレームワークです。詳細は公式サイト http://www.senchalabs.org/connect/
をご覧ください。
app.js で設定します (app.use(routes); の前に配置する必要があります)
var connect = require("connect") ;
app.use(connect.cookieParser());
app.use(connect.session({ Secret: 'jiami', cookie: { maxAge: 60*60*24*1000}}));
次に、コントローラーで
を使用します
//Set
req.session .username= "sess_username";
req.session.password="sess_admin";
req.session.your = {username:"sess_name",password:"sess_pwd"};
//Use
console .log(req.session.username);
console.log(req.session.your);
その他の方法
//セッションをログアウト
req .session.destroy (function(err){
console.log(err);
})
//sid を再生成
req.session.regenerate(function(err){
console .log( err);
});
セッションが設定されると、Cookie にセッション ID を記録するための追加の sid があることがわかります
req.cookies および req.session オブジェクトを出力します
console.log(req.cookies);
console.log(req.session);
connect.sid を保存することでセッションがクライアントと通信していることがわかりますが、セッションはメモリに保存されています
2. Cookie、公式文書: (http://www.senchalabs.org/connect/cookieParser.html この文書には 1 日中騙されました)、言うまでもなく、次の例は私が試したものです。ドキュメント内に使用方法がありません
設定
//Cookie
res を設定します。 cookie(" user",{username:"cookie_name",password:"cookie_pwd"},{ maxAge: 60*60*24*1000,httpOnly:true, path:'/'});
res.cookie( "msg" , "ユーザー名またはパスワードを空にすることはできません", {maxAge:60*60*24*1000});
削除
res.cookie("msg", "ユーザー名またはパスワードを空にすることはできません", {maxAge:0});