0
我不明白這一點。一個小時前,它工作,突然間我無法取回我剛剛設置的cookie。在Chrome瀏覽器,我可以看到該Cookie實際上是有,但如果我試圖把它找回來是null
:爲什麼我的cookie始終爲空?
private void setLoggedInCookie(String sessionId) {
String domain = this.getDomain();
Cookies.setCookie(ApiParameters.LOGIN_COOKIE, sessionId, expires, domain, "/", true);
String cookie = Cookies.getCookie(ApiParameters.LOGIN_COOKIE);
// Getting NOTHING from this ..
for (String string : Cookies.getCookieNames()) {
LOGGER.info("Cookie name: " + string);
}
if(cookie == null) {
throw new RuntimeException("Cookie is 'null'.");
}
}
private String getDomain() {
LOGGER.fine("Host name: " + Window.Location.getHostName());
String domain = Window.Location.getHostName().replaceAll(".*//", "").replaceAll("/", "").replaceAll(":.*", "");
return "localhost".equalsIgnoreCase(domain) ? "localhost" : domain;
}
這是怎麼回事?
即使我將它設置爲'localhost',它也不起作用。就像在我的問題中指出的那樣:我可以在Chrome/Firefox設置中看到Cookie,但是我沒有從'Cookies.getCookie()'返回。 – displayname
確保您嘗試使用SSL訪問它,因爲您已將其設置爲true。注意:你可以隨時設置一個cookie - 它對你獲得它的能力沒有影響。 –
錯誤是將其設置爲安全。我將它從'false'改爲'true',並不知道這意味着我必須使用SSL訪問它!設置域似乎並不是一個問題,但至少不用於取回它。謝謝! – displayname