Я кодирую приложение AIR 1.5, в котором я хочу выполнить удаленную загрузку файла Flex .swf с веб-сервера.
Я использую Flex 3.2 SDK и пытаюсь использовать функцию под-приложения через SWFLoader. Я ссылаюсь на документ Разработка и загрузка подпрограмм о том, как это сделать.
Я действительно могу успешно загрузить файл Flex .swf с удаленного веб-сервера, и он загружается в удаленную изолированную программную среду. Рабочие формы этого файла .swf даже соответствуют настройкам прозрачности, которые я установил в собственном окне AIR.
Вот руб:
В производственной ситуации наш веб-сервер использует Spring Security для отклонения любого несанкционированного доступа к веб-странице входа в систему (это также относится и к обычным развертываниям разработки / сборки сборки QA). Если успешный вход был выполнен, то ответ входа в систему устанавливает cookie. Этот заголовок cookie должен присутствовать во всех последующих HTTP-взаимодействиях, которые направлены на получение контента с сайта.
Я не могу понять, как установить заголовок файла cookie при использовании SWFLoader для извлечения файлов Flex .swf.
Как я могу использовать SWFLoader для извлечения файлов с веб-сайта, который защищен Spring Security (который широко используется для защиты доступа к веб-сайтам на основе Java), который раньше назывался Acegi security до объединения с Spring Источник).
Запуск нашего кода на основе Flex был несложным, когда он запускался в изолированной программной среде браузера Flash Player - все, что происходило с Spring Security, управлялось браузером. Однако попытка запустить наше приложение на основе Flex в AIR в качестве вспомогательного приложения в безопасных пределах удаленной песочницы оказывается адским опытом.
Элемент управления AIR HTML, хотя он достаточно хорошо работает с Spring Security, не используется, поскольку любое загруженное содержимое .swf или .pdf не будет отображаться, если для прозрачности установлено значение true в собственном окне AIR. Наш конкретный дизайн пользовательского интерфейса обязательно требует, чтобы прозрачность была установлена в значение true, поскольку мы делаем дочерние окна MDI, которые плавают на рабочем столе пользователя.