Bonjour,

Je rencontre actuellement un soucis de sécurité avec le crossdomain.xml sur un serveur pour lequel je souhaite accéder aux données sur un certain port (disons le 1042), mais que le fichier crossdomain.xml se trouve sur un apache sur le port 80.

J'accède à mon service distant via un HttpService.

J'ai donc mis mon fichier crossdomain à la racine de mon server (http://monserver:80/crossdomain.xml) qui contient ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<allow-access-from domain="*"  to-ports="*" secure="true" />
<site-control permitted-cross-domain-policies="master-only"/>
<allow-http-request-headers-from domain="*" headers="*"/>
</cross-domain-policy>
Si je lance tel quel mon application, il va chercher le crossdomain.xml sur http://monserver:1042/, forcément il le trouve pas.

J'ai donc ajouté ce code là au chargement de mon application :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
Security.allowDomain( "*" );
Security.loadPolicyFile( "http://monserver:80/crossdomain.xml" );
Il semble bien charger le fichier car j'ai même un warning disant que le secure ne sert à rien ici.

Mais dès que je fais appel à mon service sur le port 1042, il tente à nouveau de récupérer le crossdomain.xml sur le 1042, il échoue et j'obtiens à nouveau l'erreur de sécurité... Il n'a pas l'air de prendre en compte le fichier chargé précédemment.

J'ai essayé le loadPolicyFile avec "xmlsocket://monserver:80", sans plus de succès.

Y aurait-il une autre manipulation à effectuer pour que cela fonctionne ? Je ne vois vraiment plus.

Merci d'avance pour votre aide.