2017-12-11 7 views
0

nodejsベースのweb-appにログイン機能を実装しようとしています。 NodeJSセッションで問題が発生しました

const express = require('express'); 
const app = express(); 
const route = express.router; 
const sessions = require("client-sessions"); 

app.use(sessions({ 
    coockieName: 'SNsession', 
    secret: '0GBlJZ9EKBt2Zbi2flRPvztczCewBxXK' // set this to a long random string! 
})); 

const user = 'john'; 

app.get('/login', function (req, res){ 
    req.sessions.user = user; 
}); 

const port = process.env.PORT || 5000; 
app.listen(port, function() { 
    console.log("listening on " + port); 
}); 

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

私は、私も自分のコンピュータ上で発生するMozillaのハックのブログで見たのと全く同じ結果を見てみたいです。 ブログのポスト:それにもかかわらず https://hacks.mozilla.org/2012/12/using-secure-client-side-sessions-to-build-simple-and-scalable-node-js-applications-a-node-js-holiday-season-part-3/

は、私はこれを取得しています:

TypeError: Cannot set property 'user' of undefined 
    at c:\node\test\server.js:15:21 
    at Layer.handle [as handle_request] (c:\node\node_modules\express\lib\router\layer.js:95:5) 
    at next (c:\node\node_modules\express\lib\router\route.js:137:13) 
    at Route.dispatch (c:\node\node_modules\express\lib\router\route.js:112:3) 
    at Layer.handle [as handle_request] (c:\node\node_modules\express\lib\router\layer.js:95:5) 
    at c:\node\node_modules\express\lib\router\index.js:281:22 
    at Function.process_params (c:\node\node_modules\express\lib\router\index.js:335:12) 
    at next (c:\node\node_modules\express\lib\router\index.js:275:10) 
    at clientSession (c:\node\node_modules\client-sessions\lib\client-sessions.js:630:5) 
    at Layer.handle [as handle_request] (c:\node\node_modules\express\lib\router\layer.js:95:5) 

が、私は時間と時間のためにこれを把握しようとしてきたが、私はまだそれが動作見てきましたし。

ブログにあるコードを変更せずにコピーして貼り付けただけでは機能しません。 :(

答えて

0

は最後の 'S' セッション

からを削除

req.session.user = user; 

req.sessions.user = user; 

を交換してください助けてください

関連する問題