【问题标题】:Updating JSESSIONID cookie value更新 JSESSIONID cookie 值
【发布时间】:2016-04-15 06:23:49
【问题描述】:

我正在尝试如下更新JSESSIONID 值,但它会为每个请求创建一个新的JSESSIONID cookie。

    Cookie[] cookies = httpRequest.getCookies();
    Cookie jsessionCookie = null;
    Cookie hazelcastCookie = null;
    if (cookies != null) for (Cookie cookie : cookies) {
        if (cookie.getName().equals(JSESSION_COOKIE_NAME))
            jsessionCookie = cookie;
        else if (cookie.getName().equals(HAZELCAST_COOKIE_NAME)) hazelcastCookie = cookie;
    }
    if (jsessionCookie != null && hazelcastCookie != null
            && jsessionCookie.getValue() != hazelcastCookie.getValue()) {
        jsessionCookie.setValue(hazelcastCookie.getValue());
        httpResponse.addCookie(jsessionCookie);
        LOGGER.log(Level.DEBUG,
                "Updated jsessionCookie value with  hazelcastCookie --> " + jsessionCookie.getValue());
    }

我应该做些什么改变来更新 JSESSIONID 值而不是为每个请求创建一个新值?

更新

请求标头

Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding:gzip, deflate, sdch
Accept-Language:en-US,en;q=0.8
Connection:keep-alive
Cookie:WebDAV.activeX=false; JSESSIONID=HZ9542C5A55A7142A28935DFF96746230F; hazelcast.sessionId=HZ9542C5A55A7142A28935DFF96746230F; JSESSIONID=HZ9542C5A55A7142A28935DFF96746230F; sessionIdForCognos=HZ9542C5A55A7142A28935DFF96746230F; _sd3_session_id=5436c0eebe806f38ca8d1e2867338e00

响应标头

Cache-Control:no-cache
Connection:Keep-Alive
Content-Encoding:gzip
Content-Language:en-US
Content-Length:6538
Content-Type:text/html;charset=utf-8
Date:Thu, 14 Apr 2016 22:20:36 GMT
Expires:Wed, 31 Dec 1969 23:59:59 GMT
Keep-Alive:timeout=70, max=57
Pragma:no-cache
Server:None
Set-Cookie:JSESSIONID=508E10266957BFF95874CEBFECF5FBAF.qa-trunk-n2; Path=/Passport; Secure; HttpOnly
Set-Cookie:hazelcast.sessionId=HZ9542C5A55A7142A28935DFF96746230F; Path=/Passport
Set-Cookie:JSESSIONID=HZ9542C5A55A7142A28935DFF96746230F

【问题讨论】:

    标签: java spring servlets cookies


    【解决方案1】:

    如果要设置现有cookie的值,cookie的以下字段必须全部相同:

    1. 路径
    2. 安全
    3. http-only
    4. 姓名

    【讨论】:

    • 是的,我没有接触任何这些,只是获取JSESSIONID 并更新值
    • 你能告诉我们cookies在浏览器中的样子吗?
    猜你喜欢
    • 2013-01-11
    • 2010-10-26
    • 2013-11-01
    • 2018-06-14
    • 2016-02-03
    • 2023-03-09
    • 2016-09-01
    • 1970-01-01
    • 2017-09-14
    相关资源
    最近更新 更多