我正在尋求幫助來配置Spring Boot來在不使用Spring Security的情況下堅持Spring會話。沒有Spring Security的堅持Spring會話
我從HttpSession JDBC Spring Boot sample app開始,爲Spring Boot應用程序堅持Spring會話。但是這使用Spring Security。在刪除Spring Security時,會話不再保存在H2數據庫中。 XML config和Java config示例應用程序不使用Spring Security。因此,不是一個要求。
guide指出springSessionRepositoryFilter將創建Spring會話。但是,在刪除Spring Security並調試此過濾器(SessionRepositoryFilter)後,傳遞給的布爾值SessionRepositoryFilter $ SessionRepositoryRequestWrapper.getSession(布爾值)永遠不會設置爲true。因此,Spring Session永遠不會被創建和保存。
對於沒有Spring Security的Spring Boot應用程序需要額外配置的持久化Spring Session的任何建議?
下面是相關的類,pom.xml的,而application.property文件:
@SpringBootApplication
public class SbWebSessionJdbcApplication {
public static void main(String[] args) {
SpringApplication.run(SbWebSessionJdbcApplication.class, args);
}
}
@EnableJdbcHttpSession
public class HttpSessionConfig {
}
的pom.xml
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.5.RELEASE</version>
<relativePath/>
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-jdbc</artifactId>
<version>1.2.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session</artifactId>
<version>1.2.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
application.properties
spring.thymeleaf.cache=false
spring.template.cache=false
spring.datasource.schema=classpath:org/springframework/session/jdbc/schema-h2.sql
spring.h2.console.enabled=true
logging.level.org.springframework.web=DEBUG