У меня до весны MVC приложение работало нормально. Но теперь домашняя страница не загружает ресурсы c, и я вижу следующие ошибки
Previously Authenticated: org.springframework.security.authentication.AnonymousAuthenticationToken@bc10afd2: Principal: anonymousUser; Credentials: [PROTECTED]; Authenticated: true; Details: org.springframework.security.web.authentication.WebAuthenticationDetails@b364: RemoteIpAddress: 0:0:0:0:0:0:0:1; SessionId: null; Granted Authorities: ROLE_ANONYMOUS
No mapping for GET /css/style.css
No mapping for GET /images/logo.png
No mapping for GET /css/home.css
org.springframework.web.servlet.FrameworkServlet[0;39m: Completed 404 NOT_FOUND
Внешний интерфейс - HTML. Это рабочий код на долгое время, и я подозреваю, что добавление чванства прервало загрузку изображений stati c. Из логов я могу сделать вывод, что он правильно ищет путь, но по какой-то причине не отвечает (ниже)
org.springframework.security.web.util.matcher.AntPathRequestMatcher Checking match of request : '/css/home.css'; against '/css/**'
org.springframework.security.web.util.matcher.AntPathRequestMatcher [0;39m: Checking match of request : '/css/style.css'; against '/css/**'
org.springframework.security.web.util.matcher.AntPathRequestMatcher[0;39m: Checking match of request : '/images/logo.png'; against '/images/**'
Ниже приведен код для настройки безопасности
@Configuration
@EnableWebSecurity
public class SecurityConfigurer extends WebSecurityConfigurerAdapter {
//...
@Override
public void configure(WebSecurity webSecurity) throws Exception {
webSecurity
.ignoring()
.antMatchers(
"/assets/**",
"/css/**",
"/dis/**",
"/fonts/**",
"/images/**",
"/js/**",
"/resources/**",
"/static/**",
"/v2/api-docs",
"/v2/api-docs/**",
"/v2/api-docs/swagger-ui.html",
"/swagger-resources",
"/swagger-resources/**",
"/configuration/ui",
"/configuration/**",
"/configuration/security",
"/swagger-ui.html",
"/webjars/springfox-swagger-ui/**",
"/webjars/**"
);
}
@Override
protected void configure(HttpSecurity http) throws Exception {
String login = "/login";
http
.authorizeRequests()
.antMatchers("/").permitAll()
.antMatchers(login).permitAll()
.antMatchers("/forgot").permitAll()
.antMatchers("/admin/**").hasAuthority("ROLE_ADMIN")
.antMatchers("/actuator/**").permitAll()
.anyRequest().authenticated()
.and().csrf().disable()
.formLogin().loginPage(login).loginPage("/")
.defaultSuccessUrl("/default")
}
}
Здесь конфигурация чванства
@Configuration
@EnableSwagger2
public class SwaggerConfig extends WebMvcConfigurationSupport {
@Bean
public Docket productApi() {
return new Docket(DocumentationType.SWAGGER_2).select()
.apis(RequestHandlerSelectors.basePackage("com.xyz.abc.controller"))
.paths(PathSelectors.any()).build();
}
@Override
protected void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");
registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
}
}
Здесь аналогично обсуждение , но я использую текущую версию MVC, поэтому в моем коде
нет конфигурации на основе XML