首頁 >web前端 >js教程 >connect中間件session、cookie的使用方法分享_node.js

connect中間件session、cookie的使用方法分享_node.js

WBOY
WBOY原創
2016-05-16 16:44:021851瀏覽

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn