Текущий идентификатор сессии в парусах JS - PullRequest
0 голосов
/ 12 октября 2018

Я хочу удалить все сеансы со всех устройств одним кликом в sails.js.Как получить идентификатор текущей сессии?

Например:

console.log(req.session.sessid) // sess:jV-M6_ZNCp-8x_jYPbSfbUilXd_T85i_

sails.js версия 1.1.0-3

Ответы [ 2 ]

0 голосов
/ 12 октября 2018

Все сеансы не знают, к какому пользователю они принадлежат , если только вы не сопоставили сеанс в постоянной системе хранения, такой как кэш Redis / Memcached или MySQL, база данных MongoDB.

Вот одно из многих решений, о которых я могу подумать, как показано ниже:

  • Создайте модель в своем приложении sails, которое можно назвать SessionMapper

    • Добавьте три столбца: userID, sessionID и isActive (логическое значение).
  • Теперь, когда пользователь входит в систему, создайте запись в этой модели / таблице.

  • Создание промежуточного программного обеспечения, через которое будут проходить все запросы API (кроме /login и общедоступных API)
    • Это промежуточное программное обеспечение будет проверять, активен ли текущий сеанс - действует как дополнительный уровеньаутентификация.
      • Если сеанс активен, предоставьте доступ / next()
      • , если сеанс недействителен или isActive === false, выйдите из системы пользователя и перенаправьте на страницу входас некоторым сообщением.

Чтобы выйти из всех активных сеансов пользователей, установите isActive = false для userID = <user-id> в SessionMapper модели.

Примечание : Этот метод увеличит количество операций READ на datasource, который подключен к SessionMapper.Переместите его в более эффективное и эффективное решение, такое как Redis / Memcached, если это мешает основным операциям.

Надеюсь, этот псевдокод поможет вам в решении вашей задачи.@tspentzas, в следующий раз, когда вы будете искать решение, добавьте все, что вы до сих пор пробовали в своем вопросе, чтобы сообщество помогло вам лучше.

0 голосов
/ 12 октября 2018

Если я правильно понял из вашего вопроса, req.session.destroy () - ваш ответ.

https://sailsjs.com/documentation/reference/blueprint-api/destroy

...