2010-08-27 7 views
0

J'ai une application Flex/AIR qui se connecte à un serveur Tomcat via BlazeDS. Je ne trouve pas que je dois intégrer une ancienne webapp (struts/jsp) et je voudrais garder cette webapp intacte, sauf pour la connexion, l'authentification et la gestion de session. Aussi une 3ème application Java qui utilise httpclient.Connexion d'un client non flexible au serveur exécutant blazeDS

Actuellement, j'ai quelques objets distants blazeDS pour gérer la connexion/déconnexion avec quelques appels RPC. À leur tour, les objets FlexSession sont créés et gérés. Existe-t-il un moyen d'utiliser httpclient et javascript pour appeler ces RPC flamboyants, donc je ne dois pas recoder et avoir 3 moyens différents pour gérer les connexions et les sessions?

Ceci est supposé utiliser single_sign_on pour les 3 applications.

Répondre

1

Oui, manipulez tout différemment J'ai peur! Vous ne devez utiliser BlazeDS que pour (dé) sérifier vos objets Java vers/depuis AMF. Une fois cela fait, passez à autre chose pour faire votre logique métier. Cela signifie que vous pouvez ajouter différents points d'entrée simplement en fournissant l'API pour votre logique métier. De l'authentification/type de connexion, vous devriez utiliser quelque chose comme spring security pour gérer cela plutôt que d'écrire le vôtre. Cela dissocie ce type de logique de votre logique métier et des mécanismes de transport, et peut être réutilisé quelle que soit la manière dont vous accédez à votre application.

Pour les sessions, cela dépend de ce que vous stockez, mais l'utilisation de FlexSession n'est généralement pas un bon plan.

+0

alors diriez-vous que changer la partie connexion/déconnexion de flex/blazeds pour utiliser httpclient et un certain type de point de terminaison backend et ensuite utiliser le RPC blazeDS pour le reste? De cette façon, je peux réutiliser le httpclient/servlet (ou autre) et la gestion de session pour d'autres types de clients (browser/air/stand-alone-app)? – Nick

+0

si vous utilisez la méthode de connexion du Flex ChannelSet ... http://livedocs.adobe.com/flex/3/langref/mx/messaging/ChannelSet.html#login() Cela finira par atteindre le authenticationProvider vous configurez avec la sécurité de printemps. Donc, vous pouvez utiliser Flex RO n'est pas un problème. Les clients HTTP finiront par frapper la même chose s'ils utilisent une connexion non authentifiée. –