Использование Express session.
Также стоит взглянуть на passport, что делает реализацию аутентификации в node.js очень простой.
Экспресс пример сеанса:
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();
}
});
Я не понимаю, как вы положили идентификатор_пользователь в сессии и доступ к нему на другой странице. Если я использую этот код, он всегда говорит мне, что sess.user не определен. –
Ваше право Я обновлю пример. –
Хорошо, настройка работает, но на другой странице я делаю это, чтобы проверить, установлено ли это, но это не сработает. router.get ('/', function (req, res) { app.use ({secret: 'keyboard cat', cookie: {maxAge: 60000}})) var sess = session; if (sess.user) { console.log ("yesssss"); } else { console.log ("IT не работает"); } }); –