2013-03-05 4 views
0

Наше приложение сконфигурировано с использованием blazeds и spring-security и использует теги remoting-object для вызова методов. У меня такое ощущение, что конфигурация неправильная. Есть ли какая-либо ссылка, где я могу понять интеграцию всех этих трех технологий.Spring-Security Blazeds and Flex

Проблема, с которой я сталкиваюсь в обратном направлении, - это один раз после входа в систему sesionid, как показано в инструменте браузера (элемент проверки Chrome) dosnt change, где, как сказано в Spring-security, идентификатор сеанса изменяется после аутентификации пользователя.

<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

Можете ли вы включить конфигурацию пружины в свой вопрос? В базовой установке, использующей пространство имен безопасности для конфигурации, создается «SessionFixationProtectionStrategy», которая позволяет создать новый сеанс после успешной аутентификации. Ваш вопрос предполагает, что с вашим конфигом что-то не так. – zagyi

+0

Добавлены используемые конфигурации. Пожалуйста, проверьте один раз – Kiran

ответ

0

Кажется, вы используете очень старую версию Spring Security (версия 2.x), подумайте об обновлении до версии 3.x. Это должно быть довольно легко с такой базовой конфигурацией, и вам будет нелегко получить поддержку, если вы продолжите использовать старую.

Один совет, хотя: ваш конфиг внутри <security:http> назначает filters="none" в все возможные адреса, так что я предполагаю, что это на самом деле не будет делать ничего для любого запроса, поэтому ваши настройки управления сеансом игнорируются.

+0

Thnks для быстрого ответа zagyi. Попробуем обновить версию безопасности для весны .. Thnks снова. – Kiran

Смежные вопросы