У кого-нибудь есть BlazeDS, работающий с WebLogic Security (j_security_check)? - PullRequest
0 голосов
/ 20 мая 2010

Я работаю над реализацией Flex (в настоящее время использую SDK 3.5) в WebLogic 10.3 (11G). Изначально мы использовали Glassfish v2.1.1 с нулевыми проблемами (была ошибка поиска в активной группе каталогов, но это не мешало нашему прогрессу .) С момента перехода на WebLogic у нас есть проблема, когда flexsession становится недействительным после входа в систему с использованием 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)

Я попробовал почти все опции в services-config.xml:

[security></p> <pre><code> [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>

Я даже полностью удалил этот раздел без удачи. Логин работает правильно с точки зрения не BlazeDS. Это аутентифицирует пользователя правильно. Без аутентификации BlazeDS работает нормально (без ошибок при любых удаленных вызовах.) Вместе это большой сбой (недействительная гибкая сессия каждый раз.)

Кто-нибудь получил это работает? Любые советы?

1 Ответ

0 голосов
/ 03 июля 2010

Изменить services-config.xml , чтобы он выглядел как
<security <strong>auto-config="true" session-fixation-protection="none"</strong>><br /> <login-command class="flex.messaging.security.TomcatLoginCommand" ....

...