Connect是一個node中介軟體(middleware)框架。具體不表,看官網介紹 http://www.senchalabs.org/connect/
在app.js設定下(必須放到app.use(routes);之前)
var connect = require("connnect"); >app.use(connect.cookieParser());
app.use(connect.session({ secret: 'jiami', cookie: { maxAge: 60*60*24*1000}}));
然後在控制器中使用
//設定
>🎜>
//設定
"sess_username";
req.session.password="sess_admin";
req.session.your = {username:"sess_name",password:"sess_pwd"};
//使用
conwordsole .log(req.session.username);
console.log(req.session.your);
其它方法
代碼如下:
//註解> (function(err){
console.log(err);
})
//重新產生sid
req.session.regenerate(function(err){
console.log( err);
});
當設定了session後,我們看到cookie中多了條sid,是為了記錄會話ID的
列印req.cookies和req.session物件
程式碼如下:
console.log(req.ookiecookies); console.log(req.session);
可以看到session是透過存了一個connect.sid的方式來與客戶端會話的,不過session是存在記憶體中的
二、cookie,官方文件:(http://www.senchalabs.org/connect/cookieParser.html 這個文檔坑了我整整一天時間),費話不表,下面的例子是哥試出來的,因為文件上沒寫使用方法
設定
//設定cookie
rescookie(>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});