Flex Blaze DS не передает cookie аутентификации OpenSSO?

У меня есть набор веб-сервисов 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?


person Vinnie    schedule 15.06.2010    source источник


Ответы (1)


Используйте firebug или любой http-прокси, чтобы проверить следующие вещи:

  1. Находятся ли сервер Blaze и веб-сервер в одном домене? В противном случае браузер не будет отправлять файлы cookie на сервер Blaze.
  2. Два сервера на одном сервере, но разные порты? Некоторые браузеры считают, что использование разных портов является нарушением политики одного и того же происхождения, и файл cookie не будет отправлен на сервер.
  3. Какой путь установлен в файле cookie системы единого входа? Если для него задан определенный путь, браузер не будет отправлять куоки на сервер blaze.

Если браузер отправляет файл cookie системы единого входа, вам необходимо предоставить дополнительные сведения о своем сервере единого входа, прежде чем кто-либо сможет вам помочь.

person Sripathi Krishnan    schedule 15.06.2010