Ich suche Unterstützung bei der Konfiguration von Spring Boot, um eine Spring Session zu erhalten, ohne Spring Security zu verwenden.Persist Spring Session ohne Spring Security
Ich begann mit der HttpSession JDBC Spring Boot sample app, um eine Spring Session für eine Spring Boot App beizubehalten. Dies verwendet jedoch Spring Security. Wenn Sie Spring Security entfernen, wird die Sitzung nicht mehr in der H2-Datenbank gespeichert. Die Beispielanwendungen XML config und Java config verwenden Spring Security nicht. Also keine Voraussetzung.
Die guide besagt, dass die springSessionRepositoryFilter die Spring Session erstellen wird. Nach dem Entfernen von Spring Security und dem Debuggen dieses Filters (SessionRepositoryFilter) wird der an SessionRepositoryFilter $ SessionRepositoryRequestWrapper.getSession (boolean) übergebene Boolesche Wert jedoch nie auf True gesetzt. Daher wird die Spring Session nie erstellt und beibehalten.
Haben Sie Vorschläge zur zusätzlichen Konfiguration, um eine Spring Session für eine Spring Boot App ohne Spring Security zu erhalten?
Hier sind die entsprechenden Klassen, pom.xml und application.property Datei:
@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