Hallo Ich versuche, ein Front-End in den Ordner/Ressourcen meiner Anwendung aufzunehmen. Meine Verzeichnisstruktur ist wie folgt:Spring Security kann nicht auf Dateien zugreifen unter/resources
src
main
java // backend located here
webapp
resource //my html/css/js
Ich verwende oauth für die Sicherheit des Backend:
MethodSecurityConfig.java
@Configuration
@EnableGlobalMethodSecurity(prePostEnabled = true)
public class MethodSecurityConfig extends GlobalMethodSecurityConfiguration {
@Override
protected MethodSecurityExpressionHandler createExpressionHandler() {
return new OAuth2MethodSecurityExpressionHandler();
}
}
ResourceServerConfigurerAdapter.java
@Configuration
@EnableResourceServer
public class ResourceServerConfiguration extends ResourceServerConfigurerAdapter {
@Override
public void configure(final HttpSecurity http) throws Exception {
http.authorizeRequests()
.antMatchers("/resources/**").permitAll().and()
.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.IF_REQUIRED)
.and().authorizeRequests().anyRequest().authenticated();
}
}
ResourceWebConfig .java
@Configuration
@EnableWebMvc
@ComponentScan({"eu.emif.resource.web"})
public class ResourceWebConfig extends WebMvcConfigurerAdapter {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry
.addResourceHandler("/resources/**")
.addResourceLocations("(/resources/");
}
}
Jedes Mal, wenn ich versuche, http://localhost:8082/style.css Oder http://localhost:8082/resources/style.css zu gehen Ich erhalte
<oauth>
<error_description>
Full authentication is required to access this resource
</error_description>
<error>unauthorized</error>
</oauth>
Hilfe wäre sehr willkommen.
Sie Maven verwenden ?? – Keshav
ja mein Backend verwendet maven –