2010-12-06 12 views
0

Je développe une application FLEX dont le serveur Java est le back-end. Ce dont j'ai besoin:
-L'application FLEX ne peut être utilisée que si l'utilisateur est connecté;
-L'application FLEX doit également savoir quel utilisateur elle est connectée, car elle affiche un contenu spécifique à son sujet;
-J'ai besoin d'effectuer une authentification sur chaque appel de service Web;Passage de l'ID de session PHP à l'application FLEX

Cependant, les pages Web sont en cours de développement en utilisant PHP, ainsi que le système de connexion. Après quelques recherches, j'ai découvert que je pouvais utiliser l'identifiant de session PHP pour authentifier tous les appels de services web, en utilisant le pont php-java pour que PHP et Java puissent partager la même session.

Mon problème c'est que je ne sais pas comment l'application FLEX peut obtenir l'ID de session PHP actuel. Je sais qu'il est possible de le passer par flashvars, mais je pense que ce n'est pas sécurisé.

Si quelqu'un a d'autres solutions, même sans utiliser l'identifiant de session PHP, je l'apprécierais vraiment.

Merci d'avance.

Répondre

0

Je ne vois aucun avantage pour Flex d'accéder directement à l'ID de session PHP; Es-tu sûr que c'est ce dont tu as besoin?

Les fichiers SWF créés par Flex sont conçus comme des logiciels côté client. Considérant que PHP et Java sont généralement utilisés comme logiciel côté serveur. Essayez de ne pas traiter votre application Flex comme s'il s'agissait d'un programme côté serveur.

La façon dont la plupart des applications Web gèrent les sessions est que le serveur définit un cookie sur le client. Le navigateur transmet automatiquement ce cookie à chaque requête. et le serveur utilise cette valeur de cookie pour synchroniser la requête avec une session côté serveur. Je sais que ColdFusion et Java fonctionnent comme ceci et je suppose que PHP utilise un mécanisme similaire.

Chaque fois que votre SWF (AKA Flex App) envoie une requête au serveur distant, la requête inclut tous les cookies définis par le serveur, comme s'il s'agissait d'une requête de navigateur normale. Le serveur doit synchroniser automatiquement la requête Flex avec une session côté serveur.

Cela aide-t-il?

0

vous pouvez avoir une page php qui sera appelée par flex en utilisant httpService, retourner le $ _SESSION ['userName'] ou votre variable de session. si retourné vide. arrêter le chargement du programme. J'espère que cela a du sens. coz j'ai fait la même chose ..

+0

Merci! En fait, cela a du sens. Donc, si j'utilise SSL, il n'y a pas de problèmes de sécurité en utilisant cette solution, ai-je raison? – Gustavo

+0

Je me demandais, il est possible d'altérer les données envoyées par le serveur, n'est-ce pas? Comment puis-je éviter cela pour sécuriser ma demande? – Gustavo