Die Anforderungszuordnung funktioniert nicht mehr mit spring-boot-starter-oauth2-resource-serverJava

Java-Forum
Anonymous
 Die Anforderungszuordnung funktioniert nicht mehr mit spring-boot-starter-oauth2-resource-server

Post by Anonymous »

Ich entwickle einen Dienst, der in verschiedenen Kontexten verwendet wird, von denen einige Websicherheit erfordern, andere nicht.
Ich habe daher
hinzugefügt

Code: Select all

        
org.springframework.boot
spring-boot-starter-oauth2-resource-server


org.springframework.security
spring-security-test
6.5.5
test

zu meiner pom.xml hinzugefügt und eine Konfigurationsklasse mit einer SecurityFilterChain @Bean geschrieben, die wie folgt funktioniert:
  • CSRF-Schutz ist in jedem Fall deaktiviert (zustandsloser Ressourcenserver)
  • Wenn Web-Sicherheit aktiviert ist, richte ich ein httpSecurity.oauth2ResourceServer und http.authorizeHttpRequests mit Rollenvalidierung.
  • Wenn die Websicherheit deaktiviert ist, rufe ich einfach auf:

Code: Select all

httpSecurity.authorizeHttpRequests(auth -> auth.anyRequest().permitAll());
Jetzt habe ich einen Unit-Test für einen Controller mit

Code: Select all

    @RequestMapping(
method = RequestMethod.POST,
value = "/import/{pipeline_name}",
produces = { "application/json" },
consumes = { "application/json" }
)
wobei Pipelinename ein @Parameter ist.
Der Unit-Test sieht folgendermaßen aus:

Code: Select all

@WebMvcTest(ImportController.class)
class ImportControllerTest {

@Autowired
private MockMvc mockMvc;

// some more beans and an inner @Configuration class which asks for disabled web security

@Test
@WithMockUser
void someTest() throws Exception {
doNothing().when(someService).doesStuff();
this.mockMvc.perform(
post("/import/test")
.with(jwt())
.contentType(MediaType.APPLICATION_JSON)
.content(someBody)
).andExpect(status().isNoContent());
}
Dieser Test funktionierte einwandfrei, bevor der Spring Boot-Starter für OAuth2 Resource Server hinzugefügt wurde.
Mit dieser Abhängigkeit erhalte ich jedoch einen 404-Status mit den folgenden Protokollen, unabhängig davon, ob ich komplexe Anforderungs-Matcher oder einfach nur „anyRequest().permitALl()“ einrichte:

Code: Select all

o.s.w.s.r.ResourceHttpRequestHandler     : Resource not found
.w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.web.servlet.resource.NoResourceFoundException: No static resource import/test.]
Beachten Sie, dass das Problem nur bei Unit-Tests aufzutreten scheint
Warum funktioniert die Anforderungszuordnung in diesem Fall nicht mehr?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post