Cookie を削除したいコントローラー (Tomcat 7 上) があります。たとえば、私のドメインは「test.mydomain.de」です。これが私のコードです:
private void removeCookies(HttpServletRequest request, HttpServletResponse response) {
Cookie[] allCookies = request.getCookies();
for( Cookie cookie : allCookies ) {
if(! (cookie.getName().equals( "JSESSIONID")) {
cookie.setMaxAge(0);
response.addCookie(cookie);
}
}
}
これは、ドメイン「test.mydomain.de」で設定された Cookie でうまく機能します。しかし、ドメイン (ホスト) ".mydomain.de" で JavaScript によって設定された 2 つの Cookie があります。パスは「/」です。それらは安全ではなく、httponly ではありません。私は試しcookie.setDomain(".mydomain.de");
てみcookie.setPath("/");
ました。応答ヘッダー (Set-Cookie) に表示されますExpires=Thu, 01-Jan-1970 00:00:10 GMT
が、Firefox (バージョン 14.0.1) は Cookie を削除しません。