управление сеансами с использованием core node.js без express.js - PullRequest
0 голосов
/ 26 декабря 2018

Как обрабатывать / создавать промежуточное программное обеспечение для управления сеансами на стороне сервера в основном проекте node.js / non express.js.Я могу найти модули для экспресс-проекта, но не для core node.js.Пожалуйста, предложите мне любые модули или промежуточное программное обеспечение для проекта non express.js.

1 Ответ

0 голосов
/ 26 декабря 2018

Управление сессиями может быть реализовано через базу данных (MySQL, MongoDB, Redis и т. Д.) Или через локальный кеш.
Основная логика сеансов - это объект с данными.
Таким образом, вы можете предоставить пользователю при первом взаимодействии скакой-то случайный идентификатор, например uuid.
, и сохраните его в каком-нибудь модуле, который выглядит следующим образом:

class OwnSession(){
  constructor(){
   this.sessions = {};
  }

  getUser(sessionId){
   return this.sessions[sessionId];
  }

  setUser(sessionId, userData){
   if(this.sessions[sessionId]){
     Object.assign(this.sessions[sessionId], userData);
     return;
   }

    this.sessions[sessionId] = userData;
  }
}
// We export here new OwnSession() to keep singleton across your project.

module.exports = new OwnSession();

И затем в любом модуле вам требуется OwnSession и вызов метода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...