我想在登錄時在我的響應中設置cookie,然後在每個請求中讀取它。 爲此,我已經在登錄時添加餅乾這樣的:添加和讀取Cookie
Cookie cookieClientId = new Cookie("id", token.getTkn());
cookieClientId.setMaxAge(24*60*60);
response.addCookie(cookieClientId);
當要求來我檢查日的cookie存在或不喜歡這樣的:
cookies = ((HttpServletRequest) request).getCookies();
cookieId = null;
if (cookies != null) {
for (Cookie ck : cookies) {
System.out.println("ck--------------- "+ck.getName());
if (ck.getName().toString().equals("id")) {
System.out.println("id cookie equal");
cookieId = ck.getValue();
System.out.println("cookie id " + cookieId);
System.out.println(cookieId.equals(authToken));
if (cookieId.equals(authToken)) {
isSecretAndKeyValid = true;
}
};
}
但我面臨的問題是我只在第一次請求中獲取cookie後才能發送請求。並在此之後,在每個請求我不罰款任何cookie與'id',這是我設定的時間。
我試圖搜索cookie添加,檢索方法,我發現這隻在幾乎每一個地方。
當你設置cookie時。在登錄之前還是之後? –
認證後的身份驗證方法。 – Anita
您是否檢查過cookie是否在瀏覽器(開發工具)中設置?你在哪裏打電話給你的代碼來搜索cookie? – mrak