Je suis en train de coder une application AIR 1.5 dans laquelle je souhaite charger à distance un fichier Flex .swf à partir d'un serveur Web. J'utilise Flex 3.2 SDK et j'essaie d'utiliser la fonction de sous-application via SWFLoader. J'ai référencé le document de développement et de chargement des sous-applications sur la façon de procéder.Nécessité de définir l'en-tête de cookie sur l'utilisation AIR de SWFLoader pour récupérer le fichier Flex .swf distant
Je peux effectivement charger avec succès le fichier .swf Flex à partir d'un serveur Web distant et il est chargé dans un sandbox distant. Les formulaires en cours d'exécution de ce fichier .swf respectent même le paramètre de transparence que j'ai défini sur la fenêtre native AIR.
Voici le hic:
Pour une situation de production, notre serveur web utilise Spring Security pour détourner tout accès non autorisé à une page Web de connexion (ce qui est le cas pour les déploiements de construction développement/AQ normales ainsi). Si une connexion réussie a été effectuée, la réponse du login définit un cookie. Cet en-tête de cookie doit être présent sur toutes les interactions HTTP ultérieures qui cherchent à extraire le contenu du site.
Je ne peux pas comprendre comment définir un en-tête de cookie sur mes utilisations de SWFLoader pour récupérer les fichiers Flex .swf. Comment puis-je utiliser SWFLoader pour récupérer des fichiers d'un site web protégé par Spring Security (qui est un moyen largement utilisé pour sécuriser l'accès aux sites Web basés sur Java), qui s'appelait auparavant la sécurité Acegi avant de fusionner avec Source de printemps).
L'exécution de notre code Flex était un jeu d'enfant lorsque vous l'utilisiez dans un navigateur Flash Player sandbox - les éléments de Spring Security étaient gérés par le navigateur. Essayer d'exécuter notre application Flex dans AIR en tant que sous-application dans les limites sûres d'un sandbox distant s'avère être une expérience infernale. Le contrôle HTML d'AIR, bien qu'il fonctionne assez bien avec Spring Security, est une interdiction car tout contenu .swf ou .pdf chargé n'apparaîtra pas si la transparence est définie sur true dans la fenêtre native AIR. Notre conception particulière de l'interface utilisateur exige que la transparence soit définie sur true car nous faisons des fenêtres enfants MDI qui flottent sur le bureau de l'utilisateur.