2010-05-19 61 views
0

我正在使用WebLogic 10.3(11G)上的Flex實現(目前使用SDK 3.5)。我們最初使用Glassfish v2.1.1時沒有問題(有一個活動的目錄組查找錯誤,但它並沒有阻礙我們的進展。 )由於過渡到WebLogic我們在flexsession在使用j_security_check登錄後無效的問題:任何人都有BlazeDS使用WebLogic安全性(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>

[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可以正常工作(對於任何遠程調用都不會出現錯誤)。一起失敗的大球(每次無效flexsession)。

是否有任何人得到了這個工作?有小費嗎?

回答

0

修改服務-config.xml中以貌似
<security auto-config="true" session-fixation-protection="none">
   <login-command class="flex.messaging.security.TomcatLoginCommand" ....

相關問題