Ich versuche, die Spring Boot-Webanwendung zu entwickeln und mithilfe der Spring Security Java-Konfiguration zu sichern.
Nachdem ich meine statischen Webressourcen in ' src / main / resources / public ' platziert habe, wie hier im Spring-Blog empfohlen , kann ich die statischen Ressourcen abrufen. Wenn Sie also https://localhost/test.html
im Browser klicken, wird der HTML-Inhalt bereitgestellt.
Problem
Nachdem ich Spring Security aktiviert habe, muss die statische Ressourcen-URL authentifiziert werden.
Meine relevante Spring Security Java-Konfiguration sieht folgendermaßen aus:
@Override
protected void configure(HttpSecurity http) throws Exception {
// @formatter:off
http.
authorizeRequests()
.antMatchers("/","/public/**", "/resources/**","/resources/public/**")
.permitAll()
.antMatchers("/google_oauth2_login").anonymous()
.anyRequest().authenticated()
.and()
.formLogin()
.loginPage("/")
.loginProcessingUrl("/login")
.defaultSuccessUrl("/home")
.and()
.csrf().disable()
.logout()
.logoutSuccessUrl("/")
.logoutUrl("/logout") // POST only
.and()
.requiresChannel()
.anyRequest().requiresSecure()
.and()
.addFilterAfter(oAuth2ClientContextFilter(),ExceptionTranslationFilter.class)
.addFilterAfter(googleOAuth2Filter(),OAuth2ClientContextFilter.class)
.userDetailsService(userService);
// @formatter:on
}
Wie sollte ich antMatchers so konfigurieren , dass statische Ressourcen in src / main / resources / public gespeichert werden ?