2013-03-05 105 views
0

我们的应用程序配置了blazeds和spring-security,并使用远程对象标签来调用methods.I有一种感觉,配置不正确。有没有任何参考,我可以理解所有这3种技术的整合。Spring-Security Blazeds和Flex

我正在面对的问题是在浏览器工具(Chrome的检查元素)dosnt变更中看到的sesionid后的一次,其中spring-security表示在用户通过身份验证后会话ID发生更改。

<flex:message-broker> 
<flex:remoting-service default-channels="my-cfamf-secure" /> 
    <flex:secured> 
     <flex:secured-channel channel="my-cfamf-secure" 
     access="ROLE_USER,ROLE_ADMIN,ROLE_SALES" /> 
    <flex:secured-endpoint-path pattern="**/messagebroker/**" access="ROLE_USER" /> 
</flex:secured> 
</flex:message-broker>` 

<security:http auto-config="true"> 
     <security:intercept-url pattern="/index.jsp" 
      filters="none" access="ROLE_USER" /> 
     <security:intercept-url pattern="/**/*.swf" 
      filters="none" /> 
     <security:intercept-url pattern="/**/*.jsp" 
      filters="none" access="ROLE_USER" /> 
     <security:intercept-url pattern="/**" filters="none" /> 
     <security:logout invalidate-session="true" 
      logout-success-url="/index.jsp" /> 
     <security:session-management session-fixation-protection="newSession"> 
     </security:session-management> 
    </security:http> 


<security:authentication-manager alias="_authenticationManager"> 
     <security:authentication-provider 
      user-service-ref="userDetailsService"> 
     <security:password-encoder hash="md5" /> 
    </security:authentication-provider> 
</security:authentication-manager> 

<channel-definition id="my-cfamf-secure" 
      class="mx.messaging.channels.SecureAMFChannel"> 
      <endpoint 
       url="https://{server.name}:{server.port}/{context.root}/messagebroker/amf/cfamfsecure" 
       class="flex.messaging.endpoints.SecureAMFEndpoint" /> 
      <properties> 
       <polling-enabled>false</polling-enabled> 
       <serialization> 
        <instantiate-types>true</instantiate-types> 
       </serialization> 
       <add-no-cache-headers>false</add-no-cache-headers> 
       <invalidate-session-on-disconnect>true</invalidate-session-on-disconnect> 
      </properties> 
     </channel-definition> 

这是我的配置

+1

你可以在你的问题中加入你的spring-security配置吗?在使用安全名称空间进行配置的基本设置中,会创建一个'SessionFixationProtectionStrategy',确保在成功验证后创建新会话。你的问题表明你的配置有问题。 – zagyi 2013-03-05 11:33:15

+0

添加了使用的配置。请检查一次 – Kiran 2013-03-06 05:11:50

回答

0

看来您使用的是很旧版本的Spring Security(2.x版),可以考虑升级到3.x这种基本配置应该很容易,如果继续使用旧配置,获得支持并不容易。

一个提示,但:内<security:http>你的配置分配filters="none"所有可能的网址,所以我想它实际上不会做任何要求任何,这就是为什么你会话管理设置被忽略。

+0

Thiks快速反应zagyi。将尝试升级弹簧安全版本。再次尝试。 – Kiran 2013-03-07 11:33:44