2016-04-19 4 views
1

Node.js/Mongodbでは、簡単なセッションを作成して別のページに渡したいので、ユーザーがログインしているかどうかを知ることができます。私は彼がページにアクセスできるかどうか、私はこれを行う方法を知りたいですか?セッションを設定するにはどうすればいいですか、ユーザーをリダイレクトする必要があるかどうかを確認するための値を取得するにはどうすればよいですか。node.jsでセッションを作成するには

ありがとうございます!

答えて

1

Express sessionを使用してください。

passportを見てみると、node.jsでの認証の実装が簡単になります。

Expressセッションの例:私はあなたがセッションでユーザーIDを入れて、別のページにアクセスする方法を理解していない

var express = require('express'); 
var session = require('express-session'); 
var app = express(); 

// Make sure this is defined before any of your routes 
// that make use of the session. 
app.use(session({ 
    secret: 'keyboard cat', 
    cookie: { maxAge: 60000 }, 
    resave: false, 
    saveUninitialized: false 
})); 

// Access the session as req.session 
app.get('/login', function(req, res) { 
    req.session.user = 1; 
    res.end('User 1 is logged in, please go to the /discussion page.'); 
}); 

app.get('/discussion', function(req, res) { 
    var sess = req.session; 
    if (typeof sess.user === 'undefined') { 
    res.redirect('/login'); 
    } else { 
    res.setHeader('Content-Type', 'text/html'); 
    res.write('<p>user: ' + sess.user + '</p>'); 
    res.write('<p>expires in: ' + (sess.cookie.maxAge/1000) + 's</p>'); 
    res.end(); 
    } 
}); 
+0

。このコードを使用すると、sess.userが定義されていないことが常にわかります。 –

+0

あなたの権利私は例を更新します。 –

+0

設定がうまくいきましたが、別のページで設定しても動作しないことを確認するためにこれを行います。 app.use(セッション({秘密: 'キーボード猫'、クッキー:{maxAge:60000}})); var sess = session; if((/)、 sess.user){ console.log( "yesssss"); } else { console.log( "ITは機能していません"); } }); –

関連する問題