2016-06-29 4 views
0

스프링 부트 1.3.5 용 스프링 세션 스타터를 사용하고 스프링 세션 용 버전을 1.2로 설정하면 충돌이 발생합니다. 그것이 호환되지 않는 것 같아서 부팅 1.4를 기다려야합니다. OK ...스프링 세션 JDBC 1.2.0 (스프링 부트) 1.3.5

실행하려면 그냥 스프링 세션 1.2에 대한 의존성을 초보자없이 추가하고 AbstractHttpSessionApplicationInitializer을 확장하는 클래스를 추가해야합니다. 이것은 외부 바람둥이에서 실행할 때 작동하지만, 1.3.5의 내장 된 바람둥이에서 실행할 때 작동하지 않습니다.

SB 1.3.5에서 SS 1.20을 사용할 수 있습니까?

하나 앞으로 여기

Authentication auth = SecurityContextHolder.getContext().getAuthentication(); 
    if(auth == null || !(auth.getPrincipal() instanceof UserDetailsImpl)) 
     return null; 
    ... 

단계 항상) (auth.getPrincipal 있지만 반환 UserDetailsImpl의 인스턴스는 null 감사합니다. 클래스 로더 문제인 것으로 보입니다. 하지만 외부 바람둥이에서는 왜 작동합니까? 다른 클래스 로딩 전략은 여기에 있습니까?

+0

스프링 부트가 스프링 세션 용 시작 모듈을 제공하지 않기 때문에 _spring 세션 starter_이 무엇을 의미하는지 명확하게 설명하십시오. –

+0

죄송합니다. 여기에 언급 된 것처럼 스타터 - jdbc였습니다. http://docs.spring.io/spring-session/docs/1.2.0.RELEASE/reference/html5/guides/httpsession-jdbc-boot.html – Ickbinet

답변

0

간단히 말해서, 예, Spring 1.3.x와 Spring 1.3.x를 아무런 문제없이 사용할 수 있습니다.

스프링 세션 프로젝트는 사용자가 스프링 세션을 시작하는 데 도움이되는 many samples을 포함합니다 (이 샘플에 대한 문서는 here입니다). 이 샘플들 중에는 유스 케이스와 유사한 하나 인 Boot JDBC sample도 있습니다.

샘플 및 docs에서 볼 수 있듯이 @EnableJdbcHttpSession 주석을 사용하여 Spring Session JDBC 지원을 부트 스트랩해야합니다. 응용 프로그램에서 Redis를 사용하는 경우에는 Spring Boot 1.3에서 제공하는 SessionAutoConfiguration을 제외해야합니다. 종속성의 조합으로 인해 Redis 지원 Spring 세션의 자동 구성이 트리거되므로 이는 원하지 않는 것입니다. JDBC 지원 세션 저장소를 사용하는 것과 같습니다.

+0

I 이 문서 사용 : http://docs.spring.io/spring-session/docs/1.2.0.RELEASE/reference/html5/guides/httpsession-jdbc-boot.html 이러한 종속성을 추가 할 때 전체 세션 -jdbc jar가 없기 때문에 @EnableJdbcHttpSession 주석이 누락되었습니다. 전체 스프링 세션 1.2 종속성을 추가하면 session-jdbc뿐만 아니라 모든 것이 포함되지만 임베디드 tomcat에서는 작동하지 않습니다. 예제 https://github.com/spring-projects/spring-session/tree/1.2.0.RELEASE/samples/httpsession-jdbc-boot에서 스프링 세션에 대한 의존성을 볼 수는 없지만, 단서가 없습니다. 어떻게 그래 플이 작동합니까 ... – Ickbinet

+0

제 이해는 다음과 같습니다 : session-jdbc에 종속성을 추가하고 @EnableJdbcHttpSession을 추가하면 상자에서 작동합니다. – Ickbinet

+0

Github를 사용하여 문제를 재현하고 공유하는 샘플을 함께 넣을 수 있습니까? 또한 artifact id는'session-jdbc'가 아니라'spring-session-jdbc'라는 것에주의하십시오. –