Spring Session 1.0.0.M1 cookie域属性

时间:2014-12-04 10:20:11

标签: spring spring-security session-cookies spring-session

我已将Spring Session与Redis集成到我的SpringBoot应用程序中。除了cookie域属性之外,似乎一切正常。我刚刚找到了如何在tomcat中设置cookie会话域属性,即方法" setSessionCookieDomain",但这不起作用。例如。 我在tomcat的上下文中配置了domain属性,例如cookie的domain属性。

@Bean 
    public TomcatContextCustomizer tomcatContextCustomizer() {
        System.out.println("TOMCATCONTEXTCUSTOMIZER INITILIZED");
        return new TomcatContextCustomizer() {

            @Override
            public void customize(Context context) {
                context.addServletContainerInitializer(new WsSci(), null);
                context.setUseHttpOnly(true);
                context.setPath("/");
                context.setSessionCookiePath("/");
                context.setSessionCookieDomain(".127.0.0.5");
//              context.setSessionCookieDomain(".localhost");
//              context.setSessionCookieDomain(".test.blabla.com");

            }           

        };
    }

当我在wireshark中打开https跟踪并单击跟踪ssl流时,这就是我得到的。除域外,列出所有其他属性。所以我的问题是如何在Spring Session 1.0.0.M1中正确设置域属性,春季会话是否会以某种方式覆盖tomcat上下文?

GET / HTTP/1.1
Host: 127.0.0.5:8888
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:34.0) Gecko/20100101 Firefox/34.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Lang: keep-alive

: keep-alive

: keep-alive

: keep-alive

: keep-alive

HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
Strict-Transport-Security: max-age=31536000 ; includeSubDomains
X-Frame-Options: DENY
X-Content-Security-Policy: script-src 'self'; object-src 'self'
Content-Security-Policy: script-src 'self'; object-src 'self'
X-WebKit-CSP: default-src 'self'
X-Application-Context: application:Production
Set-Cookie: SESSION=5d0a738f-f011-4e43-a1ee-d691b8eba94c; Path=/; Secure; HttpOnly
Content-Type: text/html;charset=UTF-8
Conten10:01:27 GMT

10:01:27 GMT

10:01:27 GMT

10:01:27 GMT

10:01:27 GMT

<!DOCTYPE html>

1 个答案:

答案 0 :(得分:2)

感谢你提出这个问题。 Spring Session应该允许通过SessionCookieConfig配置域,但不允许。我创建了gh-87来解决这个问题。