Я думал, что сеанс должен содержать информацию о компьютере пользователя пользователя до тех пор, пока он не истечет, или я не уничтожу его. что я хочу сделать, если пользователь анонимный, создайте для него идентификатор, поместите его в сеанс и где каждый он отправляется на сайт или клики, я мог бы хранить материал в записи БД, принадлежащей анонимному пользователю по идентификатору.Почему я получаю новый сеанс при обновлении страницы (я создал сеанс после сохранения())
Я использую промежуточное программное обеспечение, чтобы проверить, зарегистрирован ли пользователь с паспортом на каждом маршруте, и если он не хочет, я хочу создать req.session.anon
. Я назначил req.session.anon
объекту ObjectId, который был создан при сохранении анона (см. Код). Во второй раз (обновление страницы) пользователь должен иметь идентификатор session.anon, поэтому эта проверка должна завершиться неудачно }else if(!req.session.anon){
, но это не так, и я создаю другую запись с новым идентификатором.
app.use(function(req, res, next){
// console.log("req.user :::: ", req.user.local.username)
if(req.user){
app.locals.userid = req.user._id;
app.locals.username = req.user.local.username;
console.log("req.user is there")
}else if(!req.session.anon){
var anon = new Anon()
anon.save(function(err, data){
console.log(data)
req.session.anon = data._id
console.log("req.session.anon " , req.session.anon);// prints out the ID
})
}
next();
});
сессия создана
app.use(session({secret : "thisisastring",
saveUninitialized : true,
resave : true
}));
EDIT Im думают, что теперь у него есть что-то делать с установкой req.session.anon = data._id
в обратном вызове. но req.session устанавливается с консоли
Каких 'session' библиотеки вы используете? – jfriend00