Skip to content

Commit

Permalink
OY-4962 Päivitetty Spring Boot versio
Browse files Browse the repository at this point in the history
  • Loading branch information
jkorri committed Dec 7, 2024
1 parent b6b983e commit 91963d9
Show file tree
Hide file tree
Showing 14 changed files with 115 additions and 127 deletions.
92 changes: 35 additions & 57 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.7.14</version>
<version>3.3.5</version>
</parent>

<groupId>fi.vm.sade.sijoittelu</groupId>
Expand Down Expand Up @@ -40,14 +40,12 @@

<properties>
<jackson.version>2.15.2</jackson.version>
<spring.version>5.3.29</spring.version>
<spring.security.version>5.7.10</spring.security.version>
<spring.security.version>6.3.4</spring.security.version>
<surefire.plugin.version>3.1.2</surefire.plugin.version>
<swagger.version>1.6.11</swagger.version>
<valintalaskenta.version>6.0.1-SNAPSHOT</valintalaskenta.version>
<valintaperusteet-api.version>5.18-SNAPSHOT</valintaperusteet-api.version>
<valintaperusteet-api.version>6.2-SNAPSHOT</valintaperusteet-api.version>
<hibernate.version>6.2.4.Final</hibernate.version>
<spring.boot.version>2.7.14</spring.boot.version>
</properties>

<dependencyManagement>
Expand Down Expand Up @@ -88,6 +86,21 @@
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>fi.vm.sade.valintaperusteet</groupId>
<artifactId>valintaperusteet-api</artifactId>
<version>${valintaperusteet-api.version}</version>
<exclusions>
<exclusion>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
</exclusion>
<exclusion>
<groupId>jakarta.ws.rs</groupId>
<artifactId>jakarta.ws.rs-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>fi.vm.sade.tarjonta</groupId>
<artifactId>tarjonta-api</artifactId>
Expand Down Expand Up @@ -115,7 +128,7 @@
<dependency>
<groupId>fi.vm.sade.java-utils</groupId>
<artifactId>opintopolku-cas-servlet-filter</artifactId>
<version>0.2.0-SNAPSHOT</version>
<version>1.0.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>fi.vm.sade.java-utils</groupId>
Expand All @@ -127,33 +140,6 @@
<artifactId>auditlogger</artifactId>
<version>9.2.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>${spring.boot.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-webflux</artifactId>
<version>${spring.boot.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
<version>${spring.boot.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${spring.version}</version>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.mockito</groupId>
<artifactId>mockito-all</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-ui</artifactId>
Expand Down Expand Up @@ -182,12 +168,12 @@
<dependency>
<groupId>fi.vm.sade.java-utils</groupId>
<artifactId>opintopolku-user-details-service</artifactId>
<version>0.3.0-SNAPSHOT</version>
<version>0.5.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>fi.vm.sade.valinta</groupId>
<artifactId>valinta-sharedutils</artifactId>
<version>5.11-SNAPSHOT</version>
<version>6.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.hibernate.orm</groupId>
Expand Down Expand Up @@ -215,17 +201,6 @@
<artifactId>spring-boot-starter-validation</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.5</version>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.7.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest</artifactId>
Expand Down Expand Up @@ -314,14 +289,22 @@
<version>2.0.1</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-access</artifactId>
<version>1.2.13</version>
<groupId>ch.qos.logback.access</groupId>
<artifactId>tomcat</artifactId>
<version>2.0.3</version>
</dependency>

<!-- Tämä tarvitaan kunnes valintalaskenta-tulos-service.jar:sta tulee uusi versio jossa tämä on päivitetty -->
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.13</version>
<groupId>fi.vm.sade.valintaperusteet</groupId>
<artifactId>sharedutils</artifactId>
<version>6.0-SNAPSHOT</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-reload4j</artifactId>
</exclusion>
</exclusions>
</dependency>

<!-- Lukitaan transitiivisten riippuvuuksien versioita jotta enforcer-plugin ei valita -->
Expand Down Expand Up @@ -395,11 +378,6 @@
<artifactId>commons-codec</artifactId>
<version>1.9</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>org.checkerframework</groupId>
<artifactId>checker-qual</artifactId>
Expand Down
7 changes: 0 additions & 7 deletions sijoittelu-algoritmi-batch/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -35,20 +35,13 @@
<dependency>
<groupId>fi.vm.sade.valintaperusteet</groupId>
<artifactId>valintaperusteet-api</artifactId>
<version>${valintaperusteet-api.version}</version>
</dependency>
<!-- Spring -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
</dependency>

<!-- Logging -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</dependency>

<!-- Tests -->
<dependency>
<groupId>org.junit.jupiter</groupId>
Expand Down
22 changes: 18 additions & 4 deletions sijoittelu-service/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,10 @@
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</dependency>
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-ui</artifactId>
Expand Down Expand Up @@ -89,12 +93,16 @@
<groupId>fi.vm.sade.valintaperusteet</groupId>
<artifactId>valintaperusteet-api</artifactId>
</exclusion>
<!-- Tämä tarvitaan kunnes valintalaskenta-tulos-service.jar:sta tulee uusi versio jossa tämä on päivitetty -->
<exclusion>
<groupId>fi.vm.sade.valintaperusteet</groupId>
<artifactId>sharedutils</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>fi.vm.sade.valintaperusteet</groupId>
<artifactId>valintaperusteet-api</artifactId>
<version>${valintaperusteet-api.version}</version>
</dependency>

<!-- database -->
Expand Down Expand Up @@ -199,11 +207,17 @@
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-access</artifactId>
<artifactId>logback-classic</artifactId>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<groupId>ch.qos.logback.access</groupId>
<artifactId>tomcat</artifactId>
</dependency>

<!-- Tämä tarvitaan kunnes valintalaskenta-tulos-service.jar:sta tulee uusi versio jossa tämä on päivitetty -->
<dependency>
<groupId>fi.vm.sade.valintaperusteet</groupId>
<artifactId>sharedutils</artifactId>
</dependency>

<!-- Tests -->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,18 @@

import fi.vm.sade.java_utils.security.OpintopolkuCasAuthenticationFilter;
import fi.vm.sade.javautils.kayttooikeusclient.OphUserDetailsServiceImpl;
import org.jasig.cas.client.session.SingleSignOutFilter;
import org.jasig.cas.client.validation.Cas20ProxyTicketValidator;
import org.jasig.cas.client.validation.TicketValidator;
import org.apereo.cas.client.session.SingleSignOutFilter;
import org.apereo.cas.client.validation.Cas20ProxyTicketValidator;
import org.apereo.cas.client.validation.TicketValidator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Profile;
import org.springframework.core.annotation.Order;
import org.springframework.core.env.Environment;
import org.springframework.http.HttpMethod;
import org.springframework.security.authentication.AuthenticationManager;
import org.springframework.security.cas.ServiceProperties;
import org.springframework.security.cas.authentication.CasAuthenticationProvider;
import org.springframework.security.cas.web.CasAuthenticationEntryPoint;
Expand All @@ -20,14 +22,14 @@
import org.springframework.security.config.annotation.method.configuration.EnableMethodSecurity;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
import org.springframework.security.web.SecurityFilterChain;

@Configuration
@Order(2)
@EnableMethodSecurity(securedEnabled = true)
@EnableWebSecurity
@Profile("!test")
public class SecurityConfiguration extends WebSecurityConfigurerAdapter {
public class SecurityConfiguration {
private Environment environment;

private String service;
Expand Down Expand Up @@ -61,10 +63,8 @@ public ServiceProperties serviceProperties() {

@Bean
public CasAuthenticationProvider casAuthenticationProvider() {
final String host = environment.getProperty("host.alb", environment.getRequiredProperty("host.virkailija"));
CasAuthenticationProvider casAuthenticationProvider = new CasAuthenticationProvider();
casAuthenticationProvider.setUserDetailsService(
new OphUserDetailsServiceImpl(host, SijoitteluServiceConfiguration.CALLER_ID));
casAuthenticationProvider.setAuthenticationUserDetailsService(new OphUserDetailsServiceImpl());
casAuthenticationProvider.setServiceProperties(serviceProperties());
casAuthenticationProvider.setTicketValidator(ticketValidator());
casAuthenticationProvider.setKey(this.key);
Expand All @@ -83,9 +83,12 @@ public TicketValidator ticketValidator() {
//

@Bean
public CasAuthenticationFilter casAuthenticationFilter() throws Exception {
OpintopolkuCasAuthenticationFilter casAuthenticationFilter = new OpintopolkuCasAuthenticationFilter(serviceProperties());
casAuthenticationFilter.setAuthenticationManager(authenticationManager());
public CasAuthenticationFilter casAuthenticationFilter(
ServiceProperties serviceProperties, AuthenticationManager authenticationManager)
throws Exception {
OpintopolkuCasAuthenticationFilter casAuthenticationFilter =
new OpintopolkuCasAuthenticationFilter(serviceProperties);
casAuthenticationFilter.setAuthenticationManager(authenticationManager);
casAuthenticationFilter.setFilterProcessesUrl("/j_spring_cas_security_check");
return casAuthenticationFilter;
}
Expand Down Expand Up @@ -115,35 +118,39 @@ public CasAuthenticationEntryPoint casAuthenticationEntryPoint() {
return casAuthenticationEntryPoint;
}

@Override
protected void configure(HttpSecurity http) throws Exception {
http.headers()
.disable()
.csrf()
.disable()
.authorizeHttpRequests()
.regexMatchers("^/?$")
.permitAll()
.regexMatchers("^/buildversion.txt$")
.permitAll()
.regexMatchers("^/swagger-ui(/.*)?")
.permitAll()
.regexMatchers("^/swagger(/.*)?")
.permitAll()
.regexMatchers("^/v3/api-docs(/.*)?")
.permitAll()
.anyRequest()
.authenticated()
.and()
.addFilter(casAuthenticationFilter())
.exceptionHandling()
.authenticationEntryPoint(casAuthenticationEntryPoint())
.and()
.addFilterBefore(singleSignOutFilter(), CasAuthenticationFilter.class);
@Bean
public SecurityFilterChain configureFilterChain(
HttpSecurity http,
CasAuthenticationFilter casAuthenticationFilter,
SingleSignOutFilter singleSignOutFilter,
CasAuthenticationEntryPoint casAuthenticationEntryPoint)
throws Exception {
return http.headers(h -> h.disable())
.csrf(c -> c.disable())
.authorizeHttpRequests(
requests ->
requests
.requestMatchers(
HttpMethod.GET,
"/buildversion.txt",
"/swagger-ui/**",
"/swagger/**",
"/v3/api-docs",
"/v3/api-docs/**")
.permitAll()
.anyRequest()
.fullyAuthenticated())
.exceptionHandling(e -> e.authenticationEntryPoint(casAuthenticationEntryPoint))
.addFilter(casAuthenticationFilter)
.addFilterBefore(singleSignOutFilter, CasAuthenticationFilter.class)
.build();
}

@Override
protected void configure(AuthenticationManagerBuilder auth) {
auth.authenticationProvider(casAuthenticationProvider());
@Bean
protected AuthenticationManager configure(
HttpSecurity http, CasAuthenticationProvider casAuthenticationProvider) throws Exception {
return http.getSharedObject(AuthenticationManagerBuilder.class)
.authenticationProvider(casAuthenticationProvider)
.build();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletRequest;
import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Expand Down
Loading

0 comments on commit 91963d9

Please sign in to comment.