Flex Messaging Security - PullRequest
       10

Flex Messaging Security

1 голос
/ 27 мая 2009

Я пытаюсь создать модуль для гибкого приложения и хочу отправлять уведомления клиентам. Я искал службу обмена сообщениями BlazeDS для отправки уведомлений клиентам, но я хочу иметь возможность отправлять определенные обновления определенным клиентам. Платформа уведомлений Flex, кажется, не позволяет этого - если у нас есть поле в сообщении со значением, например, идентификатора пользователя, любой клиент может теоретически подписаться на все сообщения для любого данного идентификатора пользователя, и нет проверки на стороне сервера, чтобы убедиться, что клиент, который подписался, вошел в систему под этим идентификатором пользователя.

Есть что-то, что я здесь упустил, или это лучший способ справиться с написанием моего собственного механизма опроса на стороне клиента?

Ответы [ 2 ]

1 голос
/ 28 сентября 2009

Вы можете использовать для этого подтемы, пока вы отключаете подстановочные подписки .

1 голос
/ 27 мая 2009

В API действительно есть решение для этого. Первым шагом является написание класса, который расширяет класс FlexClientOutboundQueueProcessor. Вам нужно переопределить один метод:

public void add(List outboundQueue, Message message);

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

outboundQueue.add(message)

Проще говоря, если вы не добавите сообщение в очередь, сообщение не будет отправлено клиенту. Другой важный метод в этом классе:

FlexClient getFlexClient()

, которую вы можете использовать для получения связанной FlexSession и, в конечном счете, информации для аутентификации, которая предположительно существует в вашем приложении.

Как только это будет сделано, вам просто нужно зарегистрировать процессор на соответствующих каналах. Просто добавьте этот элемент в элемент «properties» элемента «channel-definition»:

<flex-client-outbound-queue-processor class="com.foo.YourProcessor"/>

Полагаю, вы также можете указать вложенный элемент "properties" для процессора очереди, но я не верю, что это необходимо.

...