2013-12-22 96 views
0

我對Node.JS非常陌生,我似乎無法找到存儲會話的方式,或者至少不是官方的方式。Node.JS中的會話

我看了你可以用redis做,我發現,快遞都有它自己的Session handler,我發現一個git

現在我不知道該用哪一種方法......我從一個PHP的背景,其中很這很容易做到。

任何幫助表示讚賞!

我不想再安裝任何模塊,我現在使用Express,所以如果有人可以給我一個Express的會話處理程序的詳細指南,我會非常感激!

+1

使用'express.cookieSession()'。檢查了這一點:http://expressjs.com/api.html – CodeColorist

+0

該文件是有點缺乏,有更詳細的東西? – Hego555

+1

這個怎麼樣:http://blog.modulus.io/nodejs-and-express-sessions 如果你Google的「node.js express session」,你會得到很多有用的信息。 – CodeColorist

回答

2

首先,您需要使用適當的中間件,或者在設置快速應用程序時使用它。

app.use(express.cookieParser()); 
app.use(express.session({secret: 'this is the secret'})); 

express --sessions myapp 

兩個cookieParsersessions中間件需要此外,命令的事項。
包含所需的中間件後,將會話對象添加到每個請求中,您可以設置對象並獲取屬性。

設置:

app.get('/', function(req, res) { 
    req.session.user = 'mike'; 
    res.send('index'); 
}); 

越來越:

app.get('/about', function(req, res) { 
    var user = req.session.user; 
    res.send("I know you, you're" + user + '!'); 
}); 
+0

你能解釋祕密屬性嗎? – Hego555

+0

根據[this](http://stackoverflow.com/questions/5343131/session-secret-what-is-it),它是一個附加的安全層,它用於「計算散列」。 – makenova

+0

所以如果我沒有祕密,它會不會起作用?而且我不明白它的作用是什麼,那個鏈接說它保持了它的保護。 – Hego555