-1

Jquery Mobile、Spring MVC、Spring Security を使用してモバイル アプリケーションを開発しました。

アプリケーションにログインするたびに、Cookie が生成され、ブラウザに保存されます。

アプリケーションをログアウトするたびにセッションは破棄されますが、Cookie はブラウザにあります。

私の問題は、ブラウザに Cookie がある場合、IOS 6.0.1 を実行している IPad でアプリケーションが実行されていないことです。

ログアウトを押してセッションを破棄したときにブラウザから Cookie を削除するにはどうすればよいですか。

4

1 に答える 1

1

セッション管理delete-cookiesのために、ログアウト ハンドラーでプロパティを使用することができます。ドキュメントから引用します:

<http>
    <!-- ... -->
    <logout delete-cookies="JSESSIONID" />
</http>

カンマで複数のクックを指定できます。しかし、ドキュメントからの警告も:

残念ながら、これはすべてのサーブレット コンテナーで動作することを保証できないため、環境でテストする必要があります。

また、プロキシも考慮してください。

アプリケーションをプロキシの背後で実行している場合は、プロキシ サーバーを構成することでセッション Cookie を削除することもできます。たとえば、Apache HTTPD の mod_headers を使用すると、次のディレクティブはログアウト要求への応答で JSESSIONID Cookie を期限切れにすることで削除します (アプリケーションがパス /tutorial にデプロイされていると仮定します)。

 <LocationMatch "/tutorial/j_spring_security_logout">
  Header always set Set-Cookie "JSESSIONID=;Path=/tutorial;Expires=Thu, 01 Jan 1970 00:00:00 GMT"
 </LocationMatch>
于 2012-12-11T16:26:58.167 に答える