socket.io - перехватывать все события - PullRequest
4 голосов
/ 29 декабря 2011

Я работаю над приложением Node.js, где почти все общение происходит через sockets.io.

Мне нужно перед обработкой любого запроса (кроме запроса входа в систему) убедиться, что пользователь прошел аутентификацию.

Очевидный способ сделать это - иметь универсальный слушатель, который вызывается перед выполнением любого метода.

Хотя я не могу найти ничего подобного в Socket.io. Как я могу достичь это? Есть ли лучший подход, чем тот, который я использую?

Ответы [ 2 ]

1 голос
/ 29 декабря 2011

Наилучшим подходом здесь будет аутентификация пользователя при подключении (рукопожатие), путем анализа файла cookie и декодирования сеанса.

Подробнее об этом можно узнать по следующим ссылкам:

http://www.danielbaulig.de/socket-ioexpress/ (содержит подробное руководство обо всем, что вам нужно сделать)
https://github.com/LearnBoost/socket.io/wiki/Authorizing
socket.io и сессия?

0 голосов
/ 02 июля 2014

Оформить заказ socket.io-events по номеру для "Поймать все события"

var router = requrie('socket.io-events')();
router.on('*', function (sock, args, cb) {
  //do something with the args!
  cb();
});
var io = require('socket.io')(3000);

Извлечение socket.io-handshake по номеру для "поддержки сеанса socket.io v1.x"

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