У меня есть набор веб-сервисов RESTful. Эти службы защищены на сервере Glassfish с помощью OpenSSO. Когда я пытаюсь вызвать службы RESTful непосредственно из браузера, OpenSSO перехватывает запрос, а затем перенаправляет запрос в службу REST после аутентификации учетных данных пользователя. OpenSSO использует cookie сеанса при последующих запросах (до тех пор, пока сеанс не станет недействительным). Я уверен, что эта штука работает правильно.
Мы хотели бы вызывать эти услуги из клиента Flex. Чтобы включить операции PUT и DELETE, мы настроили BlazeDS для проксирования запросов RESTful от гибкого клиента к службе REST. Когда безопасность служб RESTful отключена, эта часть отлично работает.
Теперь мы пытаемся защитить все приложение. Мы начали войну за Flex SWF и внедрили его в Glassfish. Мы обеспечили безопасность этого ресурса, и когда пользователь пытается загрузить SWF (через HTML-ссылку на войне), OpenSSO перехватывает запрос, а затем пересылает его в приложение при успешной авторизации (точно так же, как это делается для веб-служб RESTful. ).
Проблема в том, что вызовы RESTful, сделанные приложением Flex (через BlazeDS), не работают. OpenSSO, похоже, также перехватывает эти запросы и снова запрашивает учетные данные пользователей. Не похоже, что файлы cookie аутентификации передаются (или, возможно, им) прокси-сервером BlazeDS.
Как я могу получить доступ к файлам cookie, возвращаемым исходным запросом авторизации SSO, и передать их BlazeDS веб-службе RESTful?