0

Spring 3.2 + primefaces 3.5 + hibernate 4.1.9 を使用しています。セキュリティ コンテキストは次のとおりです。

<http auto-config='false' use-expressions="true"   >
    <intercept-url pattern="/**/login"  access="permitAll" requires-channel="https"/>
    <intercept-url pattern="/**/registration" access="permitAll" requires-channel="https" />
    <intercept-url pattern="/**/cart" access="permitAll" requires-channel="https"  />
    <intercept-url pattern="/**/cart/**" access="hasAnyRole('USER','ADMIN')" requires-channel="https" />
    <intercept-url pattern="/pages/adm/**" access="hasRole('ADMIN')" requires-channel="https" />
    <intercept-url pattern="/*/account**" access="hasAnyRole('USER','ADMIN')" requires-channel="https" />
    <intercept-url pattern="/**" requires-channel="any" />

    <form-login login-page="/loginRedirect"             
        authentication-failure-handler-ref="pennyUrlAuthenticationFailureHandler"
        authentication-success-handler-ref="pennyAuthSuccessHandler"
        default-target-url="/pages/account/orders.xhtml" />
    <logout logout-success-url="/"  invalidate-session="true"/>
</http>

HTTPS を必要とするページに移動すると、残りのセッションでは、ユーザーが認証されていなくても HTTPS プロトコルが使用されます。https://mystite/en/cart にアクセスすると、すべてのブラウジング セッションで HTTPS が使用されます。

HTTPS を HTTP に永遠に切り替えたくはありませんが、ユーザーが認証されていない場合に限ります。認証されていないユーザーに HTTP を強制できますか?

4

1 に答える 1