0

私たちのアプリケーションは、blazeds と spring-security で構成され、remoting-object タグを使用してメソッドを呼び出しています。構成が適切ではない気がします。これら 3 つのテクノロジすべての統合を理解できる参考文献はありますか。

私が実際に直面している問題は、ログイン後、ブラウザー ツール (Chrome の検査要素) に表示されるセッション ID が変更されないことです。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>

これは私の構成です

4

1 に答える 1

0

Spring Security の非常に古いバージョン (バージョン 2.x) を使用しているようです。3.x へのアップグレードを検討してください。このような基本的な構成であればかなり簡単なはずですが、古いものを使い続けるとサポートを受けるのは容易ではありません。

ただし、1 つのヒント: 内部の構成は可能なすべての<security:http>URL に割り当てfilters="none"られるため、実際にはどの要求に対しても何もしないと思います。そのため、セッション管理設定は無視されます。

于 2013-03-06T12:28:02.090 に答える