2014-12-04 3 views
0

Я включил Spring Session с Redis в мое приложение SpringBoot. Кажется, что все работает хорошо, кроме атрибута домена cookie. Я просто нашел, как установить атрибут домена сеанса cookie для метода tomcat i.e «setSessionCookieDomain», но это не работает. например. Я настроил атрибут домена в контексте tomcat, например, атрибут домена cookie.Spring Session 1.0.0.M1 атрибут домена cookie

@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"); 

      }   

     }; 
    } 

Когда я открыть HTTPS след в Wireshark и нажмите следовать 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> 

ответ

2

Спасибо, что принесли это. Spring Session должен разрешить настройку домена через SessionCookieConfig, но этого не делать. Я создал gh-87, чтобы решить эту проблему.

+0

Роб, рад, что на вопрос ответили. – Tito

Смежные вопросы