refactor: replace deprecated AntPathRequestMatcher with PathPatternRequestMatcher

This commit is contained in:
Gauthier Roebroeck 2025-07-15 11:35:05 +08:00
parent d4de08a105
commit f674d65692

View file

@ -1,6 +1,5 @@
package org.gotson.komga.infrastructure.security package org.gotson.komga.infrastructure.security
import io.github.oshai.kotlinlogging.KotlinLogging
import jakarta.servlet.Filter import jakarta.servlet.Filter
import org.gotson.komga.domain.model.UserRoles import org.gotson.komga.domain.model.UserRoles
import org.gotson.komga.infrastructure.configuration.KomgaSettingsProvider import org.gotson.komga.infrastructure.configuration.KomgaSettingsProvider
@ -35,9 +34,7 @@ import org.springframework.security.web.authentication.AnonymousAuthenticationFi
import org.springframework.security.web.authentication.SimpleUrlAuthenticationFailureHandler import org.springframework.security.web.authentication.SimpleUrlAuthenticationFailureHandler
import org.springframework.security.web.authentication.WebAuthenticationDetailsSource import org.springframework.security.web.authentication.WebAuthenticationDetailsSource
import org.springframework.security.web.authentication.rememberme.TokenBasedRememberMeServices import org.springframework.security.web.authentication.rememberme.TokenBasedRememberMeServices
import org.springframework.security.web.util.matcher.AntPathRequestMatcher import org.springframework.security.web.servlet.util.matcher.PathPatternRequestMatcher
private val logger = KotlinLogging.logger {}
@Configuration @Configuration
@EnableWebSecurity @EnableWebSecurity
@ -123,7 +120,7 @@ class SecurityConfiguration(
it.maximumSessions(-1) it.maximumSessions(-1)
} }
}.exceptionHandling { }.exceptionHandling {
it.defaultAuthenticationEntryPointFor(opdsAuthenticationEntryPoint, AntPathRequestMatcher("/opds/v2/**")) it.defaultAuthenticationEntryPointFor(opdsAuthenticationEntryPoint, PathPatternRequestMatcher.withDefaults().matcher("/opds/v2/**"))
} }
if (oauth2Enabled) { if (oauth2Enabled) {
@ -242,7 +239,7 @@ class SecurityConfiguration(
fun koboAuthenticationFilter(): Filter = fun koboAuthenticationFilter(): Filter =
ApiKeyAuthenticationFilter( ApiKeyAuthenticationFilter(
apiKeyAuthenticationProvider(), apiKeyAuthenticationProvider(),
UriRegexApiKeyAuthenticationConverter(Regex("""\/kobo\/([\w-]+)"""), tokenEncoder, userAgentWebAuthenticationDetailsSource), UriRegexApiKeyAuthenticationConverter(Regex("""/kobo/([\w-]+)"""), tokenEncoder, userAgentWebAuthenticationDetailsSource),
) )
fun kosyncAuthenticationFilter(): Filter = fun kosyncAuthenticationFilter(): Filter =