Nous construisons des objets Java qui sont exposés via BlazeDS à notre application client flexible. Donc, fondamentalement, la servlet BlazeDS messagebroker instancie et appelle des méthodes sur ces objets en réponse aux demandes des clients. Fonctionne très bien. Nous utilisons l'authentification basée sur le serveur d'applications et avons mis en place une contrainte de sécurité sur les éléments <destination>
de l'élément de fichier remoting-config.xml pour empêcher les clients non authentifiés d'accéder à ces objets Java distants. Encore une fois, fonctionne bien.Comment accéder au Principal à partir d'un objet de service Java sans utiliser FlexContext?
Cependant, il existe plusieurs endroits dans l'implémentation de ces objets java où nous voulons obtenir le nom d'utilisateur de l'utilisateur actuellement connecté. En ce moment, nous le faisons via FlexContext.getUserPrincipal()
, ce qui donne accès à cela mais nous avons un souci lancinant que nous n'aimons pas l'idée que l'implémentation de ces objets (la couche de service) a une forte dépendance à une classe BlazeDS. Mais nous ne savons pas comment accéder à cela. La même chose s'applique à l'accès au ServletContext et autres.
Des idées?
Mise à jour: Nous avons trouvé ce tutoriel qui proposait une solution, ce n'est pas très élégant mais ça marche. Je pense aussi que la solution de James est faisable. http://etutorials.org/Macromedia/Fash+remoting.+the+definitive+guide/Part+II+The+Server-Side+Languages/Chapter+7.+Flash+Remoting+and+Java/7.9+ Référencement + la + Demande + et + Session / – Marplesoft