実現したいこと
ブラウザを更新(F5)する際にセットしていたCookie情報を無効にしたい。
更新前Cookie情報
hoge="1234567890"
画面更新後Cookie情報
hoge="" もしくは keyのhogeごと削除されている
前提
セットされているCookieを取得し、指定したkey名のCookieを無効にする。
ソースコード
key名を指定し有効期限を0に設定し無効を試みているのですが、画面再表示後のCookieに残ってしまっている。
ここでは、Cookie名「hoge」がセットされているので、maxAgeのオプションを0に指定しています。
Java
1Cookie cookies[] = request.getCookies();2NewCookie deleteCookie = null;3 4if(cookies != null){5 for(int i = 0; i < cookies.length; i++){6 if(cookies[i].getName().equals("hoge")) {7 deleteCookie = new NewCookie(cookies[i].getName(), cookies[i].getValue(), cookies[i].getPath(), cookies[i].getComain(), cookies[i].getComment(), 0, cookies[i].getSecure());8 }9 }10}11 12 13return Response.ok(Res).header("Set-Cookie", deleteCookie.toString()).build();14
実行結果
更新前Cookie情報
hoge="1234567890"
上記ソースコード処理後、Chromeのデベロッパーツールで画面表示のリクエストヘッダーを確認すると、
Cookieの中にhoge="1234567890"が残ってしまっている。
試したこと
サイトを色々見ていたところ、オプションを省略せず指定する必要があるとの情報をみたので、7行目の部分は一通り設定しています。
環境情報
言語 : java8
OS : Windows
最後に
知識不足でもうしわけありませんが、ご教授よろしくお願いいたします。
また、情報の追加等ありましたら更新致します。
0 コメント