Upgrade to latest Spring Session/Spring Boot

This commit is contained in:
Greg Turnquist
2018-02-20 11:50:48 -06:00
parent d79670fb57
commit 609e8b6d2a
6 changed files with 28 additions and 24 deletions

14
pom.xml
View File

@@ -31,7 +31,7 @@
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.0.BUILD-SNAPSHOT</version>
<version>2.0.0.RC1</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
@@ -39,9 +39,9 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<spring-session.version>2.0.0.BUILD-SNAPSHOT</spring-session.version>
<spring-session-data-mongodb.version>2.0.0.BUILD-SNAPSHOT</spring-session-data-mongodb.version>
<spring-data-releasetrain.version>Kay-BUILD-SNAPSHOT</spring-data-releasetrain.version>
<spring-session.version>2.0.2.RELEASE</spring-session.version>
<spring-session-data-mongodb.version>2.0.2.RELEASE</spring-session-data-mongodb.version>
<spring-data-releasetrain.version>Kay-SR4</spring-data-releasetrain.version>
</properties>
<profiles>
@@ -49,7 +49,11 @@
<id>spring5-next</id>
<properties>
<jackson.version>2.9.0</jackson.version>
<spring.version>5.0.0.BUILD-SNAPSHOT</spring.version>
<spring.version>5.0.5.BUILD-SNAPSHOT</spring.version>
<spring-session.version>2.0.3.BUILD-SNAPSHOT</spring-session.version>
<spring-session-data-mongodb.version>2.0.3.BUILD-SNAPSHOT</spring-session-data-mongodb.version>
<spring-data-releasetrain.version>Lovelace-BUILD-SNAPSHOT</spring-data-releasetrain.version>
<spring-security.version>5.0.3.BUILD-SNAPSHOT</spring-security.version>
</properties>
</profile>
</profiles>

View File

@@ -34,6 +34,10 @@
<groupId>de.flapdoodle.embed</groupId>
<artifactId>de.flapdoodle.embed.mongo</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>

View File

@@ -16,30 +16,16 @@
package org.springframework.session.mongodb.examples;
import lombok.Data;
/**
* @author Rob Winch
* @author Greg Turnquist
* @since 5.0
*/
@Data
public class SessionAttributeForm {
private String attributeName;
private String attributeValue;
public String getAttributeName() {
return this.attributeName;
}
public void setAttributeName(String attributeName) {
this.attributeName = attributeName;
}
public String getAttributeValue() {
return this.attributeValue;
}
public void setAttributeValue(String attributeValue) {
this.attributeValue = attributeValue;
}
}

View File

@@ -33,12 +33,14 @@ public class SessionController {
@PostMapping("/session")
public String setAttribute(@ModelAttribute SessionAttributeForm sessionAttributeForm, WebSession session) {
session.getAttributes().put(sessionAttributeForm.getAttributeName(), sessionAttributeForm.getAttributeValue());
return "redirect:/";
}
@GetMapping("/")
public String index(Model model, WebSession webSession) {
model.addAttribute("webSession", webSession);
return "index";
}

View File

@@ -15,6 +15,8 @@
*/
package org.springframework.session.mongodb.examples.config;
import java.time.Duration;
import org.springframework.context.annotation.Bean;
import org.springframework.session.data.mongo.JdkMongoSessionConverter;
import org.springframework.session.data.mongo.config.annotation.web.http.EnableMongoHttpSession;
@@ -25,7 +27,7 @@ public class HttpSessionConfig {
@Bean
public JdkMongoSessionConverter jdkMongoSessionConverter() {
return new JdkMongoSessionConverter(); // <2>
return new JdkMongoSessionConverter(Duration.ofMinutes(30)); // <2>
}
}
// end::class[]

View File

@@ -19,6 +19,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
import org.springframework.security.core.userdetails.User;
/**
* @author Rob Winch
@@ -28,6 +29,11 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
auth.inMemoryAuthentication().withUser("user").password("password").roles("USER");
auth.inMemoryAuthentication().withUser(User.withDefaultPasswordEncoder()
.username("user")
.password("password")
.roles("USER")
.build());
}
}