Skip to content

Commit e9d1ce3

Browse files
Fix build breaks from dependency upgrades
1 parent 7dee272 commit e9d1ce3

File tree

5 files changed

+57
-16
lines changed

5 files changed

+57
-16
lines changed

spring-boot-with-admin/admin/pom.xml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -252,5 +252,16 @@
252252
<artifactId>spring-boot-starter-test</artifactId>
253253
<scope>test</scope>
254254
</dependency>
255+
<dependency>
256+
<groupId>org.springframework.security</groupId>
257+
<artifactId>spring-security-config</artifactId>
258+
<version>6.4.5</version>
259+
</dependency>
260+
<dependency>
261+
<groupId>javax.servlet</groupId>
262+
<artifactId>javax.servlet-api</artifactId>
263+
<version>4.0.1</version>
264+
<scope>provided</scope>
265+
</dependency>
255266
</dependencies>
256267
</project>

spring-boot-with-admin/admin/src/main/java/bny/training/spring/boot/admin/config/SecurityConfiguration.java

Lines changed: 21 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -18,20 +18,23 @@
1818

1919
import de.codecentric.boot.admin.server.config.AdminServerProperties;
2020
import org.springframework.boot.autoconfigure.security.SecurityProperties;
21+
import org.springframework.context.annotation.Bean;
2122
import org.springframework.context.annotation.Configuration;
2223
import org.springframework.http.HttpMethod;
2324
import org.springframework.security.config.Customizer;
24-
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
2525
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
26-
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
26+
import org.springframework.security.core.userdetails.User;
27+
import org.springframework.security.core.userdetails.UserDetails;
28+
import org.springframework.security.provisioning.InMemoryUserDetailsManager;
29+
import org.springframework.security.web.SecurityFilterChain;
2730
import org.springframework.security.web.authentication.SavedRequestAwareAuthenticationSuccessHandler;
2831
import org.springframework.security.web.csrf.CookieCsrfTokenRepository;
2932
import org.springframework.security.web.util.matcher.AntPathRequestMatcher;
3033

3134
import java.util.UUID;
3235

3336
@Configuration(proxyBeanMethods = false)
34-
public class SecurityConfiguration extends WebSecurityConfigurerAdapter {
37+
public class SecurityConfiguration {
3538

3639
// TODO: https://codecentric.github.io/spring-boot-admin/current/#_securing_spring_boot_admin_server
3740
// This configuration is not customized to our apps and provides basic authentication.
@@ -46,17 +49,17 @@ public SecurityConfiguration(AdminServerProperties adminServer, SecurityProperti
4649
this.security = security;
4750
}
4851

49-
@Override
50-
protected void configure(HttpSecurity http) throws Exception {
52+
@Bean
53+
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
5154
SavedRequestAwareAuthenticationSuccessHandler successHandler = new SavedRequestAwareAuthenticationSuccessHandler();
5255
successHandler.setTargetUrlParameter("redirectTo");
5356
successHandler.setDefaultTargetUrl(this.adminServer.path("/"));
5457

5558
http.authorizeRequests(
56-
authorizeRequests -> authorizeRequests.antMatchers(this.adminServer.path("/assets/**")).permitAll()
57-
.antMatchers(this.adminServer.path("/actuator/info")).permitAll()
58-
.antMatchers(this.adminServer.path("/actuator/health")).permitAll()
59-
.antMatchers(this.adminServer.path("/login")).permitAll().anyRequest().authenticated()
59+
authorizeRequests -> authorizeRequests.requestMatchers(this.adminServer.path("/assets/**")).permitAll()
60+
.requestMatchers(this.adminServer.path("/actuator/info")).permitAll()
61+
.requestMatchers(this.adminServer.path("/actuator/health")).permitAll()
62+
.requestMatchers(this.adminServer.path("/login")).permitAll().anyRequest().authenticated()
6063
).formLogin(
6164
formLogin -> formLogin.loginPage(this.adminServer.path("/login")).successHandler(successHandler).and()
6265
).logout(logout -> logout.logoutUrl(this.adminServer.path("/logout"))).httpBasic(Customizer.withDefaults())
@@ -69,12 +72,17 @@ protected void configure(HttpSecurity http) throws Exception {
6972
new AntPathRequestMatcher(this.adminServer.path("/actuator/**"))
7073
))
7174
.rememberMe(rememberMe -> rememberMe.key(UUID.randomUUID().toString()).tokenValiditySeconds(1209600));
75+
return http.build();
7276
}
7377

7478
// Required to provide UserDetailsService for "remember functionality"
75-
@Override
76-
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
77-
auth.inMemoryAuthentication().withUser(security.getUser().getName())
78-
.password("{noop}" + security.getUser().getPassword()).roles("USER");
79+
@Bean
80+
protected InMemoryUserDetailsManager userDetailsService() {
81+
UserDetails user = User.withDefaultPasswordEncoder()
82+
.username(security.getUser().getName())
83+
.password(security.getUser().getPassword())
84+
.roles("USER")
85+
.build();
86+
return new InMemoryUserDetailsManager(user);
7987
}
8088
}

spring-boot/todo/pom.xml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -275,6 +275,23 @@
275275
</exclusion>
276276
</exclusions>
277277
</dependency>
278+
<dependency>
279+
<groupId>javax.servlet</groupId>
280+
<artifactId>servlet-api</artifactId>
281+
<version>2.5</version>
282+
<scope>compile</scope>
283+
</dependency>
284+
<dependency>
285+
<groupId>jakarta.validation</groupId>
286+
<artifactId>jakarta.validation-api</artifactId>
287+
<version>2.0.2</version>
288+
</dependency>
289+
<dependency>
290+
<groupId>javax.persistence</groupId>
291+
<artifactId>javax.persistence-api</artifactId>
292+
<version>2.2</version>
293+
<scope>compile</scope>
294+
</dependency>
278295

279296
</dependencies>
280297

spring-boot/todo/src/test/java/bny/training/spring/boot/todo/AbstractTodoMockSetupTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@
2525

2626
import java.util.Arrays;
2727

28+
import static org.mockito.ArgumentMatchers.any;
29+
import static org.mockito.ArgumentMatchers.eq;
2830
import static org.mockito.ArgumentMatchers.isNull;
29-
import static org.mockito.Matchers.any;
30-
import static org.mockito.Matchers.eq;
3131
import static org.mockito.Mockito.mock;
3232
import static org.mockito.Mockito.when;
3333

spring-framework/ch05_spring-hibernate/src/main/java/bny/training/spring/framework/dao/ColoredShapeDaoImpl.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
package bny.training.spring.framework.dao;
1818

1919
import bny.training.spring.framework.model.ColoredShape;
20+
import java.util.Objects;
2021
import org.hibernate.Session;
2122
import org.hibernate.SessionFactory;
2223
import org.springframework.beans.factory.annotation.Autowired;
@@ -46,6 +47,10 @@ public ColoredShape findById(final Long id) {
4647
@Transactional(readOnly = false, propagation = Propagation.REQUIRES_NEW)
4748
public void save(final ColoredShape coloredShape) {
4849

49-
getSession().saveOrUpdate(coloredShape);
50+
if (Objects.isNull(getSession().find(ColoredShape.class, coloredShape.getId()))) {
51+
getSession().persist(coloredShape);
52+
} else {
53+
getSession().merge(coloredShape);
54+
}
5055
}
5156
}

0 commit comments

Comments
 (0)