Я ищу способ защитить систему обмена сообщениями на моем веб-сайте, чтобы пользователи получали только те данные, к которым у них должен быть доступ. Имея это в виду, я подумал о системе, в которой у меня есть главный обмен темами, на который мой сервер будет отправлять все сообщения.
Веб-сайт содержит идентификатор сеанса для каждого пользователя. Когда пользователь аутентифицируется, создается другой обмен с именем sessionId. Пользователю на стороне клиента разрешено привязываться ко всем обменам, кроме главного. Поскольку идентификатор сеанса уникален, было бы очень сложно угадать идентификатор сеанса другого пользователя и выполнить привязку для получения их сообщений.
каждое сообщение будет иметь ключ маршрутизации sessionID.destination. Клиентская сторона будет знать все потенциальные направления.
Чтобы помочь визуализировать:
-> SessionID Exchange -> client
Server -> master Exchange | -> SessionID Exchange -> client
-> SessionID Exchange -> client
Мой вопрос двоякий. Можно ли привязать обмен к обмену в rabbitmq? Кроме того, кто-то устанавливал подобную систему ранее? Скорее, у кого-нибудь с опытом работы в этой теме уже есть работающая система, которую я могу использовать?
Заранее спасибо.