Je travaille sur une implémentation Flex (actuellement SDK 3.5) sur WebLogic 10.3 (11G.) Nous utilisions à l'origine Glassfish v2.1.1 avec zéro problème (il y avait un bug de recherche de groupe de répertoire actif mais cela ne gênait pas notre progression.) Depuis le passage à WebLogic, nous avons un problème où la flexsession est invalidée après connexion à l'aide j_security_check:Est-ce que BlazeDS fonctionne avec WebLogic Security (j_security_check)?
[BlazeDS]Unexpected error encountered in Message Broker servlet
flex.messaging.LocalizedException: The FlexSession is invalid.
at flex.messaging.FlexSession.checkValid(FlexSession.java:943)
at flex.messaging.FlexSession.getUserPrincipal(FlexSession.java:254)
at flex.messaging.HttpFlexSession.getUserPrincipal(HttpFlexSession.java:286)
at flex.messaging.MessageBrokerServlet.service(MessageBrokerServlet.java:296)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3594)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2202)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2108)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1432)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
J'ai essayé presque toutes les options dans les services-config.xml:
[security>
[login-command class="flex.messaging.security.WeblogicLoginCommand" server="Weblogic"/>
[!-- Uncomment the correct app server
[login-command class="flex.messaging.security.TomcatLoginCommand" server="JBoss">
[login-command class="flex.messaging.security.JRunLoginCommand" server="JRun"/>
[login-command class="flex.messaging.security.TomcatLoginCommand" server="Tomcat"/>
[login-command class="flex.messaging.security.WebSphereLoginCommand" server="WebSphere"/>
-->
[/security>
J'ai même complètement supprimé cette section sans succès. La connexion fonctionne correctement à partir d'une perspective non-BlazeDS. Il authentifie l'utilisateur correctement. Sans authentification, BlazeDS fonctionne très bien (pas d'erreur pour les appels à distance.) Ensemble c'est une grosse boule d'échec (flexsession invalide à chaque fois.)
Quelqu'un at-il ce travail? Des conseils?