これはバグかブラウザのキャッシュか、何か不足しているかどうかを判断しようとしていますが、ログアウトすると以前アクセスしたページ前。私は休憩のエンドポイントへのajaxコールを持っていて、私はそれを呼び出してレスポンスを印刷し、200 OKを得る。/j_spring_security_logoutが完全にログアウトしていない場合のスプリングセキュリティ
これでログアウトをクリックすると、無効なセッションURLパラメータを持つログインページに戻ります。だから、セッションを削除しようとしているように見えて、ブラウザを完全に閉じるだけでなく、タブにアクセスすることができなくなりました。しかし、ブラウザを閉じなければ、既にアクセスしたページにアクセスすることができます。アクセスしていないページでも、ログインページに転送します。それは私にはブラウザのキャッシュ問題があるのだろうかと思うが、Aoyaxリクエストの200okはそれを疑う。
スプリングセキュリティバージョン3.1.0
これは私のログアウトの設定です。私はので、私はDispatcherServletのXMLの
に追加し、それを修正するために、それは確かにブラウザのキャッシュの問題だった。このリスナー<listener>
<listener-class>org.springframework.security.web.session.HttpSessionEventPublisher</listener-class>
</listener>
UPDATE
を追加したweb.xmlに
<logout invalidate-session="true" logout-success-url="/login-page.html?logout=true"
logout-url="/j_spring_security_logout" />
<session-management invalid-session-url="/login-page.html?session=invalid">
<concurrency-control max-sessions="1" error-if-maximum-exceeded="true" />
</session-management>
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="cacheSeconds" value="0" />
</bean>
先頭にMETAタグを追加しました
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Expires" content="-1">
これで、すべてのマイページと残りの方法のキャッシュが無効になりました。
私は火かき棒を見ましたが、その奇妙な、ときどき、必ずしも、私は残りの呼び出しのための302を取得します。あなたの提案を試しに行く。 – Dennis
確かにキャッシュの問題があったので、あなたはサーバーをデバッグモードにして、getにブレークポイントを追加してみて、最初にサーバーにヒットするとヒットしました。それ以外の場合は決してそれをヒットしません。今、Jerseyのrestメソッドのブラウザでのキャッシュを防ぐ方法。 – Dennis
これをDispatcherServlet xmlファイルに追加し、 キャッシュを無効にします。 –
Dennis