2

Spring Security でアプリケーションを作成しました。Spring Security Context ファイルに、次のコードを追加しました。

<http auto-config="true">
    <intercept-url pattern="/index.jsp" access="ROLE_ADMIN" />
    <intercept-url pattern="/metrics.jsp#chart" access="ROLE_ADMIN" />
    <intercept-url pattern="/metrics.jsp" access="ROLE_ADMIN" />
    <intercept-url pattern="/j_spring_security_logout#chart" access="ROLE_ADMIN" />
    <form-login login-page="/login.jsp" authentication-failure-url="/loginerror.jsp"  default-target-url="/index.jsp" />
    <logout logout-success-url="/login.jsp" invalidate-session="true" delete-cookies="JSESSIONID" />
</http> 

アプリケーション コンテキスト ファイルに、次のコードを追加しました。

<bean id="webContentInterceptor" class="org.springframework.web.servlet.mvc.WebContentInterceptor">
    <property name="cacheSeconds" value="0" />
    <property name="useExpiresHeader" value="true" />
    <property name="useCacheControlHeader" value="true" />
    <property name="useCacheControlNoStore" value="true" />
</bean>

アプリケーションのページ (私は JSP を使用) で、ログアウト ボタン用に次のコードを追加しました。

 <a href="j_spring_security_logout" class="ui-btn-right">Logout</a>

ユーザーがボタンをクリックすると、ログイン ページにリダイレクトされますが、アプリケーションの他のページに移動することはできます。何か不足していますか?前もって感謝します!

4

2 に答える 2

1

使用する

<a href="/j_spring_security_logout" class="ui-btn-right">Logout</a>
于 2013-05-29T12:17:16.367 に答える
0

サーブレット コンテキストでは、次のように記述します。

<mvc:interceptors>
    <bean id="webContentInterceptor"class="org.springframework.web.servlet.mvc.WebContentInterceptor">
            <property name="cacheSeconds" value="0"/>
            <property name="useExpiresHeader" value="false"/>
            <property name="useCacheControlHeader" value="true"/>
            <property name="useCacheControlNoStore" value="true"/>
    </bean>     
</mvc:interceptors>

以下と同じです:

response.setHeader("pragma", "no-cache");              
response.setHeader("Cache-control", "no-cache, no-store, must-revalidate");
response.setHeader("Expires", "0");
于 2013-10-21T10:44:25.860 に答える