4

春のセキュリティを使用していますが、この戻るボタンまたはブラウザーの問題を解決する方法を知りたいと思っていました。

問題は、ログインした後、戻るボタンをクリックしたときです。再びログインページに来ています。戻るボタンをクリックしても、ログインしたホームページだけにとどまると非常に良いでしょう.

ログアウトしている場合も同じである必要があります。戻るボタンをクリックしたときと同じようにする必要はありません。ログインしたホームページに再びアクセスします。これを解決するために何をすべきかわかりません。ブラウザがページをキャッシュすることは知っていますが、facebook や yahoo などの標準的な Web サイトを使用すると、すでにいくつかの解決策があるようです。? 方向性や情報は非常に役立ちます。

4

2 に答える 2

5

問題の一部は、ブラウザのキャッシュに起因します。複数の方法で無効にできます。

  • すべてのページに対して Spring MVC インターセプターを構成します。
    <mvc:annotation-driven/>

    <mvc:interceptors>
        <mvc:interceptor>
            <mvc:mapping path="/**/*"/>
            <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>
        </mvc:interceptor>
    </mvc:interceptors>
  • 呼び出し応答メソッド:
    response.setHeader("Pragma", "no-cache");
    response.setHeader("Cache-Control", "no-cache");
    response.setDateHeader("Expires", 0);
  • 対応するページにメタ タグを追加します。
    <meta http-equiv="Pragma" content="no-cache">
    <meta http-equiv="Cache-Control" content="no-cache">
    <meta http-equiv="Expires" content="Sat, 01 Dec 2001 00:00:00 GMT">
于 2013-08-09T13:19:30.730 に答える
2

Spring Securityの組み込みキャッシュ制御を試しましたか:

@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {

   @Override
   protected void configure(HttpSecurity http) throws Exception {
      http
      // ...
      .headers()
         .defaultsDisabled()
         .cacheControl();
   }
}
于 2015-11-04T19:11:43.520 に答える