Как получить доступ к принципалу из объекта службы Java без использования FlexContext? - PullRequest
1 голос
/ 28 мая 2010

Мы создаем некоторые объекты Java, которые предоставляются через BlazeDS нашему клиентскому приложению Flex. Таким образом, в основном сервлет брокера сообщений BlazeDS создает и вызывает методы этих объектов в ответ на запросы клиентов. Работает отлично.

Мы используем проверку подлинности на основе сервера приложений и установили ограничение безопасности для элементов <destination> в элементе файла remoting-config.xml, чтобы предотвратить доступ неаутентифицированных клиентов к этим удаленным объектам Java. Опять работает отлично.

Однако в реализации этих Java-объектов есть несколько мест, где мы хотим получить имя пользователя, вошедшего в систему. Прямо сейчас мы делаем это через FlexContext.getUserPrincipal(), что дает доступ к этому, но нас беспокоит то, что нам не нравится идея, что реализация этих объектов (сервисный уровень) сильно зависит от класса BlazeDS. Но мы не уверены, как еще получить доступ к этому. То же самое относится к доступу к ServletContext и тому подобное.

Есть идеи?

1 Ответ

1 голос
/ 28 мая 2010

При использовании MessageBrokerServlet BlazeDS не существует способа обойти это. Единственный вариант, о котором я могу подумать, - написать свой собственный сервлет, который выполняет AMF, , как этот .

...