Мы создаем некоторые объекты Java, которые предоставляются через BlazeDS нашему клиентскому приложению Flex. Таким образом, в основном сервлет брокера сообщений BlazeDS создает и вызывает методы этих объектов в ответ на запросы клиентов. Работает отлично.
Мы используем проверку подлинности на основе сервера приложений и установили ограничение безопасности для элементов <destination>
в элементе файла remoting-config.xml, чтобы предотвратить доступ неаутентифицированных клиентов к этим удаленным объектам Java. Опять работает отлично.
Однако в реализации этих Java-объектов есть несколько мест, где мы хотим получить имя пользователя, вошедшего в систему. Прямо сейчас мы делаем это через FlexContext.getUserPrincipal()
, что дает доступ к этому, но нас беспокоит то, что нам не нравится идея, что реализация этих объектов (сервисный уровень) сильно зависит от класса BlazeDS. Но мы не уверены, как еще получить доступ к этому. То же самое относится к доступу к ServletContext и тому подобное.
Есть идеи?