2017-09-05 6 views
0

クッキークリーンアップの問題が発生しました。 ドメイン:.www.parent.comでcookieの値を作成しました。その後、ドメイン:.parent.com でCookieの値を作成するようにコードベースを変更しました。これは、両方のドメインからCookieの値を取得し、 。 .www.parent.comからJavaコード経由でクッキーを削除する方法はありますか?クッキークリーンアップがJavaコードで動作しない、親ドメインからクッキーを削除しようとしています

私はすでにこのようにすることしようとしています

Cookie cookie = new Cookie("oldCookie" , null); 
cookie.setMaxAge(0); or cookie.setMaxAge(-1); 
cookie.setPath("/"); 
response.addCookie(cookie); 
+0

[JavaサーブレットでのCookieの削除方法](https://stackoverflow.com/questions/890935/how-do) -you-remove-a-java-servletのクッキー) –

+0

@emanueleこれは同じ問題ではありません。私の設定したクッキーのドメイン名は同じではありません。現在のドメインが「.parent.com」に設定されている場合、ドメイン名が「.www.parent.com」に設定されているCookieを削除したいとします。そして、私は私の記事で言及したように、そのトレッドにも提供されているソリューションを試しました。 –

答えて

0

あなたは、クライアントが保存され、それらを確認し、クッキーの配列を返すrequest.getCookies()を、使用しているすべてのクッキーを取得したい場合があります。

Cookie[] c=request.getCookies(); 
for(int i=0;i<c.length;i++){ 
    if(c[i].getDomain().equals(".www.parent.com")){ 
     c[i].setMaxAge(0); 
     response.addCookie(c[i]); 
    } 
} 

この方法で、あなたはresponseに渡しているクッキーを正確に持っている必要があります。そのようにし

、あなたが希望のドメインの誰をチェックして、このようなもので、そのTTLを設定する必要がありますの値が0以外の同じ名前、パス、その他の属性。

+0

クッキーリクエストのドメインにアクセスすることはできません。したがって、c [i] .getDomain()。equals( "。www.parent.com")は常に私たちにnullを与えます。そして、たとえ私が間違ったクッキーをその値で識別できるとしても。そのmaxAge = 0は反映されません。 –

関連する問題